企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
### `<component></component>`标签 `<component></component>`标签是Vue框架自定义的标签,它的用途就是可以动态绑定我们的组件,根据数据的不同更换不同的组件。 1.我们先在构造器外部定义三个不同的组件,分别是componentA,componentB和componentC. ~~~javascript var componentA={ template:`<div>I'm componentA</div>` } var componentB={ template:`<div>I'm componentB</div>` } var componentC={ template:`<div>I'm componentC</div>` } ~~~ 2.我们在构造器的components选项里加入这三个组件。 ~~~javascript components:{ "componentA":componentA, "componentB":componentB, "componentC":componentC, } ~~~ 3.我们在html里插入component标签,并绑定who数据,根据who的值不同,调用不同的组件。 `<component v-bind:is="who"></component>` 这就是我们的组件标签的基本用法。我们提高以下,给页面加个按钮,每点以下更换一个组件。 ~~~javascript <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <script type="text/javascript" src="../assets/js/vue.js"></script> <title>component-4</title> </head> <body> <h1>component-4</h1> <hr> <div id="app"> <component v-bind:is="who"></component> <button @click="changeComponent">changeComponent</button> </div> <script type="text/javascript"> var componentA={ template:`<div style="color:red;">I'm componentA</div>` } var componentB={ template:`<div style="color:green;">I'm componentB</div>` } var componentC={ template:`<div style="color:pink;">I'm componentC</div>` } var app=new Vue({ el:'#app', data:{ who:'componentA' }, components:{ "componentA":componentA, "componentB":componentB, "componentC":componentC, }, methods:{ changeComponent:function(){ if(this.who=='componentA'){ this.who='componentB'; }else if(this.who=='componentB'){ this.who='componentC'; }else{ this.who='componentA'; } } } }) </script> </body> </html> ~~~