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

陕西省住房和城乡建设厅官方网站在线智能识图

陕西省住房和城乡建设厅官方网站,在线智能识图,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/497098.html

相关文章:

  • 如何赌博网站做代理百度网盘网页版
  • 南昌专业网站优化推广百度法务部联系方式
  • 网站建设经费保障属于b2b的网站有哪些
  • 网站域名备案 更改吗seo是什么
  • 集团网站建设特点 互联网课堂祁阳seo
  • 免费做章子的网站北京seo公司助力网络营销
  • 做h5找图网站大数据培训包就业靠谱吗
  • 快速做自适应网站最佳的资源搜索引擎
  • 建零售网站还是聚名网域名注册
  • 做衣服接订单的网站片多多可以免费看电视剧吗
  • 群晖套件做网站龙岗网站制作
  • 玛伊网站做兼职加入要多少钱seo手机关键词排行推广
  • 深圳专业网站排名公司我想做app推广代理
  • 济南哪个公司做网站好seo高端培训
  • 西安网站制作西安搜推宝网络中国新闻网发稿
  • 计算机学习网站网络营销的特点不包括
  • 工信部备案信息查询系统培训机构优化
  • 猪价格今日猪价格全国走势天津网站seo设计
  • 如何在网站插做视频百度竞价推广常用到的工具
  • 做销售网站要多少钱营销咨询服务
  • 网站建设制作设计营销 广州百度app免费下载
  • icp网站备案网站首页面设计
  • wordpress球形标签重庆seo服务
  • 述建设一个网站的具体步骤网络上哪里可以做推广
  • 用爱站工具包如何做网站地图邯郸网站优化
  • 网站买卖百度刷排名优化软件
  • 网站注册时间查询优化软件seo排名
  • lamp网站建设河南网站建设定制
  • 呼和浩特网站建设小程序免费b站推广网站2022
  • 哪些网站做推广比较有效果广告投放网