Tôi đã bọc bootstrapTable (https://github.com/wenzhixin/bootstrap-table) vào một chỉ thị, như thế này:VueJS tái biên dịch HTML trong một inline-mẫu thành phần
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')
}
});
Các JSON trở về từ máy chủ chứa một nút với một v-on chỉ thị vì vậy tôi phải biên dịch lại các hàng HTML được tiêm để có chỉ thị nút hoạt động đúng cách. Dù sao, có vẻ như đoạn mã sau không hoạt động:
_self.vm.$compile(_self.vm.$el);
Am tôi thiếu một cái gì đó rõ ràng?
Bạn đã thử '$ mount' chưa? –
Các thành phần đã được gắn kết, Infact, nếu tôi gọi '$ mount' đây là những gì tôi nhận được:' [Vue cảnh báo]: $ mount() nên được gọi chỉ một lần.' – EveryWell