vue内置component组件 v-bind: is:实现动态组件

2020-03-11 09:39:03

 

参考地址 内置组件 + v-bind: is:实现动态组件

<component> 元素是vue 里面的一个内置组件。


在<component>里面使用 v-bind: is,可以实现动态组件的效果。






例子解析:

下面例子创建一个包含多个子组件的 vue 实例。


1. vue代码部分:新建 vue 实例 "app",这个实例的 components 里面,有3个组件,这些组件都有各自的模板。分别是 acomp,bcomp,ccomp


2. html 代码部分:使用vue 的内置组件 <component></component>,并使用 "is" 特性(需要通过v-bind 给 "is" 绑定一个值)。"is" 绑定的值传入一个组件名,就会切换到这个组件。


<div id="app">

<component v-bind:is="whichcomp"></component>

<button v-on:click="choosencomp('a')">a</button>

<button v-on:click="choosencomp('b')">b</button>

<button v-on:click="choosencomp('c')">c</button>

</div>

//做一个包含列表组件

//需要给组件创建props--"todos",用于存放组件通过绑定prop --"todo"获取实例中的data数据"todolists"

 

var app=new Vue({

  el: '#app',

components:{

acomp:{

   template:`

<p>这里是组件A</p>

`

},

bcomp:{

   template:`

<p>这里是组件B</p> `

},

ccomp:{

template:`

<p>这里是组件C</p>

`

}},

data:{whichcomp:""},

methods:{

   choosencomp:function(x){

   this.whichcomp=x+"comp"}

   }

})

网页渲染效果:

点击 A 按钮,文字显示切换到 "显示组件A" 




点击C 按钮,文字显示切换到 "显示组件C"


  • 2020-12-01 16:43:37

    fieldset标签做输入框

    比如 vuetify中的 input组件,就用到了fieldset做边框, 这个时候我们想改边框,却找不到border,因为fieldset是靠color来修改边框颜色的。

  • 2020-12-01 17:25:39

    axios并发操作

    很多时候,我们需要同时向后端进行多个请求,当所有请求都返回数据后,再进行一些操作。

  • 2020-12-02 14:45:35

    Remote-SSH使用教程 VSCode

    微软开发了一个VSCode的插件Remote-SSH,可以说是目前比较完美的解决了在windows下开发linux程序的问题。

  • 2020-12-02 22:56:09

    android设置禁止横屏失效崩溃

    误区,其实这两个代码都不是禁止横屏的,可以说根本没有禁止横屏的代码,这两个代码是设置竖屏的。 并且安卓先检测xml代码,如果是竖屏就直接展示竖屏的,但是如果java代码中设置的横屏,他会先展示竖屏咱展示横屏的 。

  • 2020-12-03 10:43:18

    xshell 连接 wsl

    装上 ubuntu on windows 后,默认要先打开 cmd, 再运行 bash 进入 ubuntu 的 shell。 但是这个shell很难看,配色不好就算了,还存在各种复制粘贴麻烦、默认没进入 home 目录、各种报警声等问题。所以尝试用 xshell 登陆 ubuntu