多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
~~~ <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>动态组件与v-once指令 :is</title> <script src="vue.js"></script> </head> <body> <div id="root"> <!-- 定义它的元素或组件只会渲染一次,包括元素或者组件的所有字节点。--> <!-- 首次渲染后,不再随着数据的改变而重新渲染。--> <!-- <component :is="type"></component>--> <child-one v-if="type=='child-one'"></child-one> <child-two v-if="type=='child-two'"></child-two> <button @click="handleBtnClick">change</button> </div> <script> Vue.component('child-one', { template: '<div>child-one</div>', }); Vue.component('child-two', { template: '<div v-once>child-two</div>', }); var vm = new Vue({ el: '#root', data: { type: 'child-one', }, methods: { handleBtnClick() { this.type = this.type == 'child-one' ? 'child-two' : 'child-one'; } } }); </script> </body> </html> ~~~