介绍
这期内容当中小编将会给大家带来有关怎么在vue中实现一个动态子组件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
vue是什么软件
vue是一套用于构建用户界面的渐进式JavaScript框架,vue与其它大型框架的区别是,使用vue可以自底向上逐层应用,其核心库只关注视图层,方便与第三方库和项目整合,且使用vue可以采用单文件组件和vue生态系统支持的库开发复杂的单页应用。
<强>方式一:局部注册所需组件强>
& lt; div id=癳xample"比; ,& lt; button  @click=癱hange"在切换页面& lt;/button> ,& lt; component :=癱urrentView"祝辞& lt;/component> & lt;/div> & lt; script> var home =,{模板:& # 39;& lt; div>我是主页& lt;/div> & # 39;}; var post =,{模板:& # 39;& lt; div>我是提交页& lt;/div> & # 39;}; var archive =,{模板:& # 39;& lt; div>我是存档页& lt;/div> & # 39;}; Vue ({new ,el: & # 39; #示例# 39; ,组件:{ 家,才能 ,,, 档案,才能 }, ,数据:{ 指数:0,才能 加勒比海盗才能:[& # 39;回家# 39;& # 39;文章# 39;,& # 39;档案# 39;], }, ,计算:{ currentView才能(){ ,,,return this.arr [this.index]; ,,} }, ,方法:{ 改变才能(){ ,,this.index =, (+ + this.index) % 3; ,,} ,} }) & lt;/script>
<强>使用& lt; keep-alive>缓存强>
<代码> & lt; keep-alive> 代码包裹动态组件时,会缓存不活动的组件实例,而不是销毁它们。和<代码> & lt; transition> 代码相似<代码> & lt; keep-alive>代码>是一个抽象组件:它自身不会渲染一个DOM元素,也不会出现在父组件链中。
基本用法:
& lt; div id=癳xample"比; ,& lt; button  @click=癱hange"在切换页面& lt;/button> ,& lt; keep-alive> & lt;才能component :=癱urrentView"祝辞& lt;/component>, ,& lt;/keep-alive> & lt;/div>
<强>条件判断强>
如果有多个条件性的子元素,<代码> & lt; keep-alive> 代码要求同时只有一个子元素被渲染:
& lt; div id=癳xample"比; ,& lt; button  @click=癱hange"在切换页面& lt;/button> ,& lt; keep-alive> & lt;才能home v=爸甘?==0“祝辞& lt;/home> & lt;才能posts v-else-if=爸甘?==1“祝辞& lt;/posts> & lt;才能archive v-else> & lt;/archive>, ,& lt;/keep-alive> & lt;/div> & lt; script> Vue ({new ,el: & # 39; #示例# 39; ,组件:{ 回家才能:{模板:“& lt; div>我是主页& lt;/div> "}, 文章才能:{模板:“& lt; div>我是提交页& lt;/div> "}, 档案才能:{模板:“& lt; div>我是存档页& lt;/div> "}, }, ,数据:{ 指数:0,才能 }, ,方法:{ 改变才能(){ ,,let len =,种(这一点。options.components美元). length; ,,this.index =, (+ + this.index) % len; ,,} ,} }) & lt;/script>
<强>激活和停用强>
激活和停用在& lt; keep-alive>树内的所有嵌套组件中触发:
& lt; div id=癳xample"比; ,& lt; button  @click=癱hange"在切换页面& lt;/button> ,& lt; keep-alive> & lt;才能component :=癱urrentView", @pass-data=癵etData"祝辞& lt;/component>, ,& lt;/keep-alive> ,& lt; p>{{味精}}& lt;/p> & lt;/div> & lt; script> Vue ({new ,el: & # 39; #示例# 39; ,数据:{ 指数:0,才能 味精:才能& # 39;& # 39;,,, 加勒比海盗:[才能 ,,,{ ,,,模板:“& lt; div>我是主页& lt;/div>”, ,,,激活(){ ,,,,,美元发出(& # 39;pass-data& # 39; & # 39;主页被添加& # 39;); ,,,}, ,,,停用(){ ,,,,,美元发出(& # 39;pass-data& # 39; & # 39;主页被移除& # 39;); ,,,},,,,, ,,}, ,,{模板:“& lt; div>我是提交页& lt;/div> "}, ,,{模板:“& lt; div>我是存档页& lt;/div> '} ,,, }, ,计算:{ currentView才能(){ ,,,return this.arr [this.index]; ,,} }, ,方法:{ 改变才能(){ ,,var len =, this.arr.length; ,,this.index =, (+ + this.index) %, len; ,,}, getData(值){才能 ,,this.msg =,价值; ,,setTimeout(()=祝辞{ ,,,this.msg =, & # 39; & # 39;; ,,},500) ,,} ,} }) & lt;/script>怎么在vue中实现一个动态子组件