具体代码如下所示:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="bower_components/vue/dist/vue.js"></script> <style> </style> </head> <body> <div id="box"> </div> <script> var Aaa=Vue.extend({//继承出来一个Vue类Aaa template:'<h3>我是标题3</h3>' }); var a=new Aaa();//a跟vm一样 console.log(a); var vm=new Vue({ el:'#box', data:{ bSign:true } }); </script> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="bower_components/vue/dist/vue.js"></script> <style> </style> </head> <body> <div id="box"> <aaa></aaa> </div> <script> var Aaa=Vue.extend({ template:'<h3>我是标题3</h3>' }); Vue.component('aaa',Aaa);//aaa是组建实例,全局组件 var vm=new Vue({ el:'#box', data:{ bSign:true } }); </script> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="bower_components/vue/dist/vue.js"></script> <style> </style> </head> <body> <div id="box"> <aaa></aaa> </div> <script> var Aaa=Vue.extend({ data(){ return { msg:'我是标题^^' }; }, template:'<h3>{{msg}}</h3>' }); Vue.component('aaa',Aaa); var vm=new Vue({ el:'#box', data:{ bSign:true } }); </script> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="bower_components/vue/dist/vue.js"></script> <style> </style> </head> <body> <div id="box"> <aaa></aaa> </div> <script> var Aaa=Vue.extend({ data(){ return { msg:'我是标题^^' }; }, methods:{ change(){ this.msg='changed' } }, template:'<h3 @click="change">{{msg}}</h3>' }); Vue.component('aaa',Aaa); var vm=new Vue({ el:'#box', data:{ bSign:true } }); </script> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="bower_components/vue/dist/vue.js"></script> <style> </style> </head> <body> <div id="box"> <aaa></aaa> </div> <script> var Aaa=Vue.extend({ template:'<h3>{{msg}}</h3>', data(){// es6语法,函数不写:,组件里面放数据: data必须是函数的形式,函数必须返回一个对象(json) return { msg:'ddddd' } } }); var vm=new Vue({ el:'#box', data:{ bSign:true }, components:{ //局部组件,放到某个组件内部,Vue.component('aaa',Aaa); aaa:Aaa } }); </script> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="bower_components/vue/dist/vue.js"></script> <style> </style> </head> <body> <div id="box"> <my-aaa></my-aaa> </div> <script> var Aaa=Vue.extend({ template:'<h3>{{msg}}</h3>', data(){ return { msg:'ddddd' } } }); var vm=new Vue({ el:'#box', data:{ bSign:true }, components:{ //局部组件 'my-aaa':Aaa } }); </script> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="bower_components/vue/dist/vue.js"></script> <style> </style> </head> <body> <div id="box"> <my-aaa></my-aaa> </div> <script> Vue.component('my-aaa',{//全局,公共的提出去 template:'<strong>好</strong>' }); var vm=new Vue({ el:'#box' }); </script> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="bower_components/vue/dist/vue.js"></script> <style> </style> </head> <body> <div id="box"> <my-aaa></my-aaa> </div> <script> var vm=new Vue({ el:'#box', components:{ //局部 'my-aaa':{ data(){ return { msg:'welcome vue' } }, methods:{ change(){ this.msg='changed'; } }, template:'<h2 @click="change">标题2->{{msg}}</h2>' } } }); </script> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="bower_components/vue/dist/vue.js"></script> <style> </style> </head> <body> <div id="box"> <my-aaa></my-aaa> </div> <template id="aaa"> <h1>标题1</h1> <ul> <li v-for="val in arr"> {{val}} </li> </ul> </template> <script> var vm=new Vue({ el:'#box', components:{ 'my-aaa':{ data(){ return { msg:'welcome vue', arr:['apple','banana','orange'] } }, methods:{ change(){ this.msg='changed'; } }, template:'#aaa' } } }); </script> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src="bower_components/vue/dist/vue.js"></script> <style> </style> </head> <body> <div id="box"> <my-aaa></my-aaa> </div> <script type="x-template" id="aaa"> <h2 @click="change">标题2->{{msg}}</h2> <ul> <li>1111</li> <li>222</li> <li>3333</li> <li>1111</li> </ul> </script> <script> var vm=new Vue({ el:'#box', components:{ 'my-aaa':{ data(){ return { msg:'welcome vue' } }, methods:{ change(){ this.msg='changed'; } }, template:'#aaa' } } }); </script> </body> </html>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>动态组件</title> <script src="bower_components/vue/dist/vue.js"></script> <style> </style> </head> <body> <div id="box"> <input type="button" @click="a='aaa'" value="aaa组件"> <input type="button" @click="a='bbb'" value="bbb组件"> <component :is="a"></component> <!-- 动态组件--> </div> <script> var vm=new Vue({ el:'#box', data:{ a:'aaa' }, components:{ 'aaa':{ template:'<h2>我是aaa组件</h2>' }, 'bbb':{ template:'<h2>我是bbb组件</h2>' } } }); </script> </body> </html>
下面看下vue component动态组件
动态组件
通过component标签 的is属性来进行组件的切换
is的属性值决定要显示的组件,所以将is的属性值设置为data中的值,以便于动态变化
<template> <div class="app"> <component :is="组件名称"> </component> </div> </template>
总结
以上所述是小编给大家介绍的vue19 组建 Vue.extend component、组件模版、动态组件 的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
本文向大家介绍vue动态注册组件实例代码详解,包括了vue动态注册组件实例代码详解的使用技巧和注意事项,需要的朋友参考一下 写本篇文章之前其实也关注过vue中的一个关于加载动态组件is的API,最开始研究它只是用来实现一个tab切换的功能,使用起来也蛮不错的。 is 预期:string | Object (组件的选项对象) 用于动态组件且基于 DOM 内模板的限制来工作。 示例: 详见vue AP
本文向大家介绍swing组件JScrollPane滚动条实例代码,包括了swing组件JScrollPane滚动条实例代码的使用技巧和注意事项,需要的朋友参考一下 本文研究的主要是swing组件之JScrollPane滚动条的实现代码示例,具体如下。 实例1 实例2 效果: 总结 以上就是本文关于swing组件JScrollPane滚动条实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续
通过使用保留的<component>元素,并对其is特性进行动态绑定,你可以在同一个挂载点动态切换多个组件: var vm = new Vue({ el: '#example', data: { currentView: 'home' }, components: { home: { /* ... */ }, posts: { /* ... */ },
本文向大家介绍Angularjs 创建可复用组件实例代码,包括了Angularjs 创建可复用组件实例代码的使用技巧和注意事项,需要的朋友参考一下 AngularJS框架可以用Service和Directive降低开发复杂性。这个特性非常适合用于分离代码,创建可测试组件,然后将它们变成可重用组件。 Directive是一组独立的JavaScript、HTML和CSS,它们封装了一个特定的行为,它将
问题内容: 我正在尝试做的是动态创建子组件,这些子组件应该注入到父组件中。例如父组件是包含共享的内容为所有课程如如按钮,和其他东西。根据路线参数,应将作为 子组件的 课程内容动态注入到父组件中。子组件(课程内容)的HTML定义为外部某处的纯字符串,它可以是类似以下内容的对象: 通过在 父组件 模板中进行以下操作可以轻松解决问题。 在每次更改路线参数时,父组件的属性都会更改(内容(新模板)将从对象中
本文向大家介绍python实现动态数组的示例代码,包括了python实现动态数组的示例代码的使用技巧和注意事项,需要的朋友参考一下 实现一个支持动态扩容的数组并完成其增删改查 测试代码 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。