new Vue.extend 创建的实例如何传递 $attrs 属性?

new Vue.extend 创建的实例如何传递 $attrs 属性?

请问使用 Vue.extend 创建出来的实例, 如何传递 attrs 属性呢?

调用代码:

const VueConstructor = Vue.extend(componentA);

const instance = new VueConstructor({

propsData: {

placeholder: "xxx",

aaa: "xxxx",

},

});

instance.$mount();

document.querySelector("#test").appendChild(instance.$el);

componentA 组件代码:

props: ['placeholder'],

created() {

console.log("this.$attrs", this.$attrs); // 不能看到 placeholder 和 aaa

console.log("this.$props", this.$props); // 能看到 placeholder, 不能看到 aaa

}

如何才能使用 Vue.extend 创建的实例达到下面这种效果呢? 或者有替代方案吗?

<componentA placeholder="xxx" aaa="xxx"/>


回答:

Vue.extend({

template: '<componentA :placeholder="placeholder" />',

data() {

return {

placeholder: "xxxx"

}

}

})


回答:

var instance = new VueConstructor({

propsData: {

placeholder: "xxx",

aaa: "xxxx",

},

_parentVnode: {

data: {

attrs: {

bbb: 'ccccc'

}

}

}

});

以上是 new Vue.extend 创建的实例如何传递 $attrs 属性? 的全部内容, 来源链接: utcz.com/p/937241.html

回到顶部