javascript-Vue.js-“绑定”引导模态到Vue模型
作者:互联网
因此,在我的Vue实例中,我有一个currentTask模型,默认情况下为null.
new Vue({
el: '...',
data: {
currentTask: null
}
});
当我单击具有v-on =“ click:openTask”指令的’任务项’时,我想使用currentTask启动模式:
methods: {
openTask: function(e) {
this.currentTask = this.clickedTask;
$('#task-modal').modal('show');
e.preventDefault();
}
}
尽管我不知道是否存在将整个模式可见性双向绑定到currentTask的更“神奇”的方法,但此方法工作得很好.
现在,如果没有更好的方法,我需要的是以某种方式监听模式关闭事件,通常我们会在jQuery中使用$(‘#myModal’).on(‘hidden.bs. modal’,function(){});在Vue内部并设置this.currentTask = null;.
谢谢.
解决方法:
您可能使用custom directive来处理此问题.
Vue.directive('task-selector', {
bind: function () {
var vm = this.vm;
var el = $(this.el);
el.on('hidden.bs.modal', function() {
vm.data.currentTask = 'whatever value you want here';
});
},
update: function (newValue, oldValue) {
// i don't think you have anything here
},
unbind: function () {
// not sure that you have anything here
// maybe unbind the modal if bootstrap has that
}
})
在您的html中,您需要将此指令放在模态元素上,如下所示:
<div id="task-modal" v-task-selector>
... modal body stuff here...
</div>
标签:twitter-bootstrap,vue-js,javascript,jquery 来源: https://codeday.me/bug/20191119/2039576.html