当前位置: 首页 > wzjs >正文

.net简单网站开发视频教程网站排名top排行榜

.net简单网站开发视频教程,网站排名top排行榜,企业网站设计开发,wordpress 修改排序1、动态组件 有的时候&#xff0c;在不同组件之间进行动态切换是非常有用的&#xff0c;比如在一个多标签的界面里&#xff1a; 上述内容可以通过 Vue 的 <component> 元素加一个特殊的 is attribute 来实现&#xff1a; <!-- 组件会在 currentTabComponent 改变时改…

1、动态组件

有的时候,在不同组件之间进行动态切换是非常有用的,比如在一个多标签的界面里:

上述内容可以通过 Vue 的 <component> 元素加一个特殊的 is attribute 来实现:

<!-- 组件会在 `currentTabComponent` 改变时改变 -->
<component :is="item.componentName" v-for="(item,index) in parentNode.childrenNode" :key="index" :parent-node="item" />

在上述示例中,currentTabComponent 可以包括

  • 已注册组件的名字,或一个组件的选项对象

:parent-node="item":将当前遍历到的 item 对象作为数据传递给动态渲染的组件的 parent-node 属性。这样在被渲染的组件内部,就可以通过 props 来接收这个 parent-node 属性的值并使用。

子组件接收 parent-node 属性

以下是一个子组件接收 parent-node 属性的示例:

<template> <div> <!-- 显示接收到的 someData 数据 --> <p>{{ parentNode.someData  }}</p> </div> 
</template> <script> 
export default { props: { parentNode: { type: Object, required: true } } 
}; 
</script> 
在这个子组件中,通过props选项定义了parent-node属性,其类型为对象且是必需的。在模板中,就可以使用 parentNode.someData来显示接收到的数据。

2、inject 语法的具体含义

inject 是 Vue 组件选项中的一部分,用于在当前组件中接收上级组件(不一定是直接父组件)通过 provide 选项提供的数据或方法。inject: ['superParams'] 这种写法是 inject 的数组语法,其含义如下:

  • 数组元素:数组中的每一项都是一个字符串,代表要注入的属性名。在这个例子中,'superParams' 就是要注入的属性名。当前组件期望从上级组件获取名为 superParams 的数据或方法。
  • 数据来源superParams 这个属性需要由上级组件通过 provide 选项提供。provide 选项可以在组件中定义一个对象,该对象的属性和值会被提供给所有下级组件,供它们使用 inject 来注入。

在这个示例中,父组件通过 provide 提供了 superParams 属性,子组件通过 inject 注入了这个属性,从而可以在模板中使用 superParams 的值。

<!-- 父组件 --> 
<template> <div> <child-component></child-component> </div> 
</template> <script> 
import ChildComponent from './ChildComponent.vue';  export default { provide: { superParams: '这是从父组件传递下来的数据' }, components: { ChildComponent } 
}; 
</script> <!-- 子组件 --> 
<template> <div> <p>{{ superParams }}</p> </div> 
</template> <script> 
export default { inject: ['superParams'] 
}; 
</script> <!-- 在对象语法中,可以通过 default 选项为注入的属性设置默认值,当上级组件没有提供该属性时,就会使用默认值--> 
export default { inject: { superParams: { default: '默认值' } } 
}; 

3、Vue.directive 用来创建全局自定义指令

<!DOCTYPE html> 
<html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Vue 2 Custom Directive</title> <!-- 引入 Vue 2 库 --> <script src="https://cdn.jsdelivr.net/npm/vue@2.6.14/dist/vue.js"></script>   
</head> <body> <div id="app"> <!-- 使用自定义指令 v-focus --> <input v-focus type="text"> </div> <script> // 定义全局自定义指令 v-focus Vue.directive('focus',  {// 当被绑定的元素插入到 DOM 中时inserted: function (el) {// 聚焦元素el.focus(); }});// 创建 Vue 2 实例new Vue({el: '#app'});</script> 
</body> </html> 
代码解释
  • Vue.directive('focus', {...}):创建一个名为 v-focus 的全局自定义指令。
  • inserted 钩子函数:当指令绑定的元素插入到 DOM 中时触发,在这个钩子函数里使用 el.focus() 让元素获取焦点。

<!-- 输入验证:对输入框的内容进行实时验证,例如限制输入长度、只允许输入数字等 -->
<template> <input v-numeric-only /> 
</template> <script> 
export default { 
//directives:用来定义组件内部的局部指令。这些指令仅在当前组件中可用。directives: { 'numeric-only': { bind: function (el) { el.addEventListener('input',  function (e) { const value = e.target.value  e.target.value  = value.replace(/[^\d]/g,  '') }) } } } 
} 
</script> 

http://www.dtcms.com/wzjs/178242.html

相关文章:

  • 织梦做不了视频网站seo描述是什么意思
  • html代码表示什么搜索引擎优化实训报告
  • 上海做高端网站建设怎么做表格
  • 株洲建设网站公司互动营销策略
  • 优化网站排名公司百度答主招募入口官网
  • 网站页面设计效果图东莞市网络营销公司
  • 舞蹈网页设计素材南宁关键词优化软件
  • 阿里云网站备案资料企业官网seo
  • 专业的团队网站建设推广的方式有哪些
  • 小程序搭建赚钱是真的吗福州百度seo排名软件
  • 深圳做网站j华信科广东网站营销seo方案
  • 去哪里做网站网站seo策划方案案例分析
  • 鄂州市政府官网百度seo多久能优化关键词
  • 北京安慧桥网站建设2023年火爆的新闻
  • 公司注册代办上海石家庄seo
  • 商丘网站建设费用长沙seo优化报价
  • 龙岩装修公司seo关键词的优化技巧
  • 北京上地网站建设关键词录入榜
  • 网站建设b2b2c百度推广代理商与总公司的区别
  • 中企动力做的保安服务网站我要恢复百度
  • b2g代表平台有哪些泰州百度seo
  • 网站建设1000zhu推广有什么好方法
  • 门户网站建设技术要求百度一下首页官网
  • 公司域名注册流程优化搜索关键词
  • 河南网站优化排名在线域名ip查询
  • 做情诗网站百度登陆页面
  • 深圳创业补贴申请后多久到账seo软件简单易排名稳定
  • 河南网页设计公司班级优化大师使用心得
  • 做网站按页面收费徐州百度seo排名
  • 宁夏网站开发设计说明书com域名