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"


  • 2021-01-14 06:15:04

    通过glide获取图片显示后的真正宽高

    有时候需要获取网络图片的宽高来设置图片显示的大小,很多人会直接利用Glide的加载监听去拿图片的宽高,但是这样拿到的不是图片真正的宽高,而是图片显示在ImageView后的宽高。如下:

  • 2021-01-14 09:38:57

    Chrome插件详细教程

    严格来讲,我们正在说的东西应该叫Chrome扩展(Chrome Extension),真正意义上的Chrome插件是更底层的浏览器功能扩展,可能需要对浏览器源码有一定掌握才有能力去开发。鉴于Chrome插件的叫法已经习惯,本文也全部采用这种叫法,但读者需深知本文所描述的Chrome插件实际上指的是Chrome扩展。

  • 2021-01-14 17:07:51

    chrome.contextMenus.create不出现菜单

    主要原因是,我每次刷新玩,都复制一下右键,然而并没有出现菜单,一度颓废啊,因为demo,还有其他人的文章都是这样的。 哎,后来发现是这样的,我缺少了contexts选项。其实我是成功了,我现在只要不选择文字,直接点右键,菜单已经出现了哦。

  • 2021-01-15 13:06:08

    监控 MongoDB -

    随着MongoDB中保存的数据越来越多,对MongoDB服务状态的监控也越来越重要,经常关注服务是否健康,才能防止故障以及优化。

  • 2021-01-15 13:30:21

    MongoDb web 用户界面

    MongoDB 的 Web 界面访问端口比服务的端口多1000。 如果你的MongoDB运行端口使用默认的27017,你可以在端口号为28017访问web用户界面,即地址为:http://localhost:28017。