在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ Vue的擴(kuò)展實(shí)例構(gòu)造器模板里面不可以使用vue的實(shí)例數(shù)據(jù)對(duì)象嗎?

Vue的擴(kuò)展實(shí)例構(gòu)造器模板里面不可以使用vue的實(shí)例數(shù)據(jù)對(duì)象嗎?

在入門學(xué)習(xí)vue的extend。有疑惑:Vue的擴(kuò)展實(shí)例構(gòu)造器模板里面不可以使用vue的實(shí)例數(shù)據(jù)對(duì)象嗎?

<div id="app">
        <sg></sg>
    </div>
    
    <script type="text/javascript">
    var authorExtend = Vue.extend({
        template: "<p><a :href='url' target='_blank'>{{siteName}}-{{msg}}</a></p>",
        data: function() {
            return {
                url: 'https://segmentfault.com',
                siteName: 'sg'
            }
        }
    });
    new authorExtend().$mount('sg');
    var app = new Vue({
        el: "#app",
        data: {
            msg: "1"
        }
    });
    </script>

控制臺(tái)報(bào)錯(cuò):

Property or method "msg" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property.

所以,Vue實(shí)例的數(shù)據(jù)用不到擴(kuò)展里面,如果想用,應(yīng)該怎么弄?

回答
編輯回答
失魂人

你構(gòu)造的子類完全沒有用到啊……

其實(shí)你的想法是用一個(gè)“子類”創(chuàng)建一個(gè)模塊,模塊中的模板一部分由這個(gè)子類直接處理,一部分由父類處理。但你其實(shí)走錯(cuò)路了,你應(yīng)該用組件解決問題?!白宇悺笔窃O(shè)計(jì)用在別的場景中的。

2017年8月6日 04:43
編輯回答
扯不斷

試試這樣吧

new authorExtend({
    el: "#app",
    data: {
        msg: "1"
    }
})
2017年11月9日 15:57