VueJS----[全局API-2.2]----Vue.extend构造器的延伸

Vue.extend构造器的延伸

1.什么是Vue.extend?

Vue.extend返回的是一个扩展实例构造器,也就是预防了部分选项的Vue实例构造器。经常服务于Vue.component用来生成组件,可以简单理解为当在模板中遇到该组件名称作为标签的自定义元素时,会自动调用扩展实例构造器来生产组件实例,并挂载到自定义元素上。
由于我们还没学习vue的自定义组件,所以我们先看跟组件无关的用途

2.自定义无参数标签

我们拟定一个需求,要在博客页面多出显示作者的名字,并点击名字会跳转到指定网页,当然,有同学说这很简单,一个超连接就可以搞定,那么我们如果不用超链接这个标签,想用自定义的标签怎么来做呢,那么我们就需要用到Vue.extend这个api了,我们先用它来编写一个扩展实例构造器,代码如下:

var author = Vue.extend({
    template:"<p><a :href='authorUrl'>{{authorName}}<a/></p>",
    data:function(){
        return{
            authorName:'cheny',
            authorUrl:'http://www.baidu.com'
        }
    }
});

这个时候直接在html中写这个标签是没有效果的,因为扩展实例构造器是需要挂载的,我们对它进行挂载

 new author().$mount('author');

这个时候我们在html中写author这个标签是可以用的,
new author().$mount(”);这个挂载的方法里面可以像jQuery一样,可以对id进行绑定(#xxx),对类样式进行绑定(“.xxx”)等,


全部代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>vue.extend 扩展实例构造器</title>
    <script type="text/javascript" src="../assets/js/vue.js"></script>
</head>
<body>
    <h1>vue.extend 扩展实例构造器</h1>
    <hr>
    <author></author>
    <div id="cheny"></div>

    <script type="text/javascript">
        var author = Vue.extend({
            template:"<p><a :href='authorUrl'>{{authorName}}<a/></p>",
            data:function(){
                return{
                    authorName:'cheny',
                    authorUrl:'http://www.baidu.com'
                }
            }
        });
        new author().$mount('author');
        new author().$mount('#cheny');
    </script>

</body>
</html>
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值