gpt4 book ai didi

vue.js - Vue 指令访问 Vue 实例?

转载 作者:搜寻专家 更新时间:2023-10-30 22:10:35 28 4
gpt4 key购买 nike

如何从指令访问 Vue 实例?

我有这个 HTML

<div id='vueApp' v-init='my initial data from server-side'>

和这个脚本

var app = new Vue({
el: '#vueApp',
data: {
myData: null
}
});

Vue.directive('init', function(el, binding) {
app.myData = binding.value;
});

它抛出这个错误:

Failed to resolve directive: init

最佳答案

您的特定错误是因为该指令是在 Vue之后创建的。

对于这个特定的指令,您可以通过 vnode.context 访问 Vue。

Vue.directive('init', {
bind(el, binding, vnode){
vnode.context.myData = binding.expression;
}
});

const app = new Vue({
el: '#vueApp',
data: {
myData: null
}
});

Example .

您也可以考虑使用 vnode.context.$root

发表评论编辑

你也可以这样做:

const initialData = {
someData: "Hello Vue!"
};

const app = new Vue({
el: '#vueApp',
data: {
myData: intialData
}
});

关于vue.js - Vue 指令访问 Vue 实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43081391/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com