Jemand kann mir helfen?Wrapping Selectpicker mit Vuejs Direktive und i18n
Ich mache eine Vue.js-Anweisung, um die bootstrap-selectpicker zu wickeln und innerhalb der Direktive möchte ich die vue-i18n-plugin verwenden, um einen Standardtitel zu übersetzen, falls diese Parameter leer sind, aber ich kann nicht ... Ich erhalte eine Fehler zu sagen, dass:
Uncaught ReferenceError: $i18n is not defined
my-directive.js
import Vue from 'vue';
Vue.directive('plSelectpicker', {
twoWay: true,
params: [
'title',
'style',
'liveSearch',
'actionsBox'
],
bind: function() {
$(this.el).selectpicker({
liveSearch: this.params.title || true,
title: this.params.title || $i18n.select,
style: this.params.style || 'btn-white',
actionsBox: this.params.actionsBox || true,
});
},
});
ich habe auch versucht, dass man:
import Vue from 'vue';
import i18n from 'vue-i18n-plugin/src/vue-i18n.js';
Vue.use(i18n);
Vue.directive('plSelectpicker', {
twoWay: true,
params: [
'title',
'style',
'liveSearch',
'actionsBox'
],
bind: function() {
$(this.el).selectpicker({
liveSearch: this.params.title || true,
title: this.params.title || $i18n.select, // also tried this.$i18n
style: this.params.style || 'btn-white',
actionsBox: this.params.actionsBox || true,
});
},
});
Aber es Kopf, um mich auf den Fehler:
Uncaught TypeError: Cannot read property 'select' of undefined
Jemand eine Idee?
Cool !! Es funktioniert, aber ich habe immer noch ein Problem ... Ich ändere die Sprachanwendung diesen Titel ändert sich nicht! Weißt du, warum? Die ganze App ändert sich, aber es geht nicht! –
Der Selectpicker-Titel reagiert nicht wie Vue. Sie müssen die Funktion 'update' der Anweisung verwenden, um die Auswahlauswahl mit neuen Optionen zu aktualisieren, zu aktualisieren oder möglicherweise neu zu erstellen – Jeff