我将bootstrapTable(https://github.com/wenzhixin/bootstrap-table)包装成一个指令,如下所示:
Vue.directive('bootstraptable', { priority: 1000, params: ['url', 'resource-name'], bind: function () { var _self = this; $(this.el) .bootstrapTable({ pagination: true, pageSize: 15, pageList: [], sidePagination: 'server', url: this.params.url, queryParams: function (params) { return params; }, cookie: true, cookieExpire: '24h', cookieIdTable: this.params.resourceName + '-table', locale: 'it-IT' }).on('load-success.bs.table', function (e, data) { $('[data-toggle="tooltip"]').tooltip(); _self.vm.$compile(_self.vm.$el); }); }, update: function (value) { $(this.el).val(value) }, unbind: function () { $(this.el).off().bootstrapTable('destroy') } });
从服务器返回的JSON包含一个带有v-on指令的按钮,因此我必须重新编译注入的HTML行以使按钮指令正常工作.无论如何,似乎以下代码不起作用:
_self.vm.$compile(_self.vm.$el);
我错过了一些明显的东西吗