ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript-Vue.js-“绑定”引导模态到Vue模型

2019-11-19 22:37:57  阅读:229  来源: 互联网

标签:twitter-bootstrap vue-js javascript jquery


因此,在我的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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有