Vue.extend扩展实例构造器
2018-07-16 本文已影响186人
新世界的冒险
Vue.extend
Vue.extend 返回的是一个“扩展实例构造器”,也就是预设了部分选项的Vue实例构造器。经常服务于Vue.component用来生成组件,可以简单理解为当在模板中遇到该组件名称作为标签的自定义元素时,会自动调用“扩展实例构造器”来生产组件实例,并挂载到自定义元素上。
我们希望在html中只需要写<baidu></baidu>就可以显示百度,并添加百度链接 ,这和自定义组件很像,但是他没有传递任何参数,只是个静态标签。
<!DOCTYPE html>
<html>
<head>
<title>Vue.extend扩展实例构造器</title>
</head>
<body>
<baidu></baidu>
<!-- <span id='baidu'>跳转</span> -->
<script type="text/javascript" src="https://cdn.bootcss.com/vue/2.2.2/vue.min.js"></script>
<script type="text/javascript">
//使用Vue.extend,用它来编写一个扩展实例构造器。
var baiduExtend=Vue.extend({
template:"<p><a :href='bdurl'>{{bdname}}</a></p>",
data:function(){
return {
bdname:'百度',
bdurl:'https://www.baidu.com'
}
}
})
//扩展实例构造器是需要挂载的,我们再进行一次挂载
new baiduExtend().$mount('baidu');
//还可以通过HTML标签上的id或者class来生成扩展实例构造器,Vue.extend里的代码是一样的,只是在挂载的时候,我们用类似jquery的选择器的方法,来进行挂载就可以了
// new baiduExtend().$mount('#baidu');
</script>
</body>
</html>