Я завернуты bootstrapTable (https://github.com/wenzhixin/bootstrap-table) в директиву, как это:VueJS повторно компилировать HTML в компоненте рядный шаблона
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-на поэтому мне нужно перекомпилировать введенные строки HTML, чтобы корректно работали директивы кнопок. Во всяком случае, кажется, что следующий код не работает:
_self.vm.$compile(_self.vm.$el);
я упускаю что-то очевидное?
Вы пробовали '$ mount'? –
Компонент уже установлен, infact, если я называю '$ mount', это то, что я получаю:' [Vue warn]: $ mount() следует вызывать только один раз. ' – EveryWell