首页 / VUE / 深入浅析Vue全局组件与局部组件的区别
深入浅析Vue全局组件与局部组件的区别
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了深入浅析Vue全局组件与局部组件的区别,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2902字,纯文字阅读大概需要5分钟。
内容图文
![深入浅析Vue全局组件与局部组件的区别](/upload/InfoBanner/zyjiaocheng/337/b3f2675df4714652b09daf0bc5c4d277.jpg)
1、组件声明
<!-- 全局组件模板father模板 --> <template id="father"> <div> <h3>这是{{name}}</h1> <div> <p>这是{{data}}</p> </div> </div> </template> var FATHER = { template: "#father", data: function() { return { name: "一个全局组件-模板-", data: "数据:18892087118" } } };
2、组件注册
Vue.component('father', FATHER);
3、组件挂载
<h5>全局组件1</h5> <father></father>
4、组件实例
<!DOCTYPE html> <html> <head> <title>vue2.0 --- 局部组件与全局组件</title> </head> <body> <h3>vue2.0局部组件与全局组件</h3> <div id='app'> <h5>局部组件</h5> <fatherlocal></fatherlocal> <hr> <h5>全局组件1</h5> <father></father> <hr> <h5>全局组件2</h5> <child :fromfather='giveData'></child> </div> <!-- 局部组件模板fatherlocal --> <template id="father-local"> <div> <h3>这是{{name}}</h1> <div> <p>这是{{data}}</p> </div> </div> </template> <!-- 全局组件模板father --> <template id="father"> <div> <h3>这是{{name}}</h1> <div> <p>这是{{data}}</p> </div> </div> </template> <template id="child"> <div> <h3>这是{{name}}</h3> <div> <p>{{cmsgtwo}}</p> <p>{{cmsg}}</p> <p>{{fromfather}}</p> <p>{{fromfather.fmsg}}</p> <p><input type="button" value="按钮" @click=" "></p> </div> </div> </template> <script src="vue_2.2.2_vue.min.js"></script> <script type="text/javascript"> // 定义组件 var FATHER = { template: "#father", data: function() { return { name: "一个全局组件-模板-", data: "数据:18892087118" } } }; var CHILD = { template: "#child", data: function() { return { name: "子组件", cmsg: "子组件里的第一个数据", cmsgtwo: "子组件里的第二个数据" } }, methods: { change: function() { this.fromfather.fmsg = "子组件数据被更改了" } }, mounted: function() { this.cmsg = this.fromfather; }, props: ["fromfather"], }; // 注册组件 Vue.component('father', FATHER); Vue.component("child", CHILD); var vm = new Vue({ data: { fmsg: "data里的数据", giveData: { fmsg: "这是父组件里的数据" } }, methods: {}, // 局部组件fatherlocal components: { 'fatherlocal': { template: '#father-local', data: function() { return { name: "局部-父组件", data: "局部-父组件里的数据" } } } } }).$mount('#app'); </script> </body> </html>
6、特殊的属性is
当使用 DOM 作为模板时 (例如,将el选项挂载到一个已存在的元素上),你会受到 HTML 的一些限制,因为 Vue 只有在浏览器解析和标准化 HTML 后才能获取模板内容。尤其像这些元素<ul>,<ol>,<table>,<select>限制了能被它包裹的元素,而一些像<option>这样的元素只能出现在某些其它元素内部。
自定义组件<my-row>被认为是无效的内容,因此在渲染的时候会导致错误。变通的方案是使用特殊的is属性:
<body> <div id="app1"> <ul> <li is="my-component"></li> </ul> </div> <script> Vue.component("my-component",{ template:"<h1>{{message}}</h1>", data:function(){ return { message:"hello world" } } }); new Vue({ el:"#app1" }) </script> </body>
总结
以上所述是小编给大家介绍的Vue全局组件与局部组件的区别,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
内容总结
以上是互联网集市为您收集整理的深入浅析Vue全局组件与局部组件的区别全部内容,希望文章能够帮你解决深入浅析Vue全局组件与局部组件的区别所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。