gpt4 book ai didi

vue.js - Vuejs 2.0 : How to access vm instance within hook functions in custom directives?

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

在 Vuejs 1.0 中,它能够从 this.vm 访问 vue 实例,但我无法在 vue 2.0 中找到这样做的方法。

我实际上是在尝试编写一个自定义指令,以便在元素被 jquery 插件更改时更新绑定(bind)数据,该插件不会触发 v-model 中的任何更新。

`<input id="dayparting_switch" 
v-model="options.dayparting"
v-observe="options.dayparting"
:cheked="options.dayparting"
data-off="Disabled" data-on="Enabled" data-toggle="toggle" type="checkbox">`
Vue.directive('observe', {
bind(el, args) {
var vm = this.vm;
$(el).change(function() {
vm.$data = 'changed';
});
}
});

最佳答案

我看到您想要访问呈现您的指令的组件。

Vue.directive('observe', {
// in the bind function, the 3rd argument is vnode (the VDOM) created by Vue.
bind(el, bindings, vnode) {
// vnode.context is the scope where the directive is rendered.
const vm = vnode.context
$(el).change(function() {
vm.$data = 'changed';
});
}
});

检查源代码中的这一行 VNode context .

关于vue.js - Vuejs 2.0 : How to access vm instance within hook functions in custom directives?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42777870/

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