编程语言
首页 > 编程语言> > javascript-Vue.js-“绑定”引导模态到Vue模型

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