Je construis une directive personnalisée, elle est stockée dans son propre fichier
autosize.js et ressemble à ceci:
import Vue from 'vue'
import autosize from 'autosize'
Vue.directive('autosize', {
bind: function() {
console.log('autosize bind')
var self = this
Vue.nextTick(function() {
autosize(self.el)
})
},
update: function(value) {
console.log('autosize update')
var self = this
Vue.nextTick(function() {
self.el.value = value
autosize.update(self.el)
})
},
unbind: function() {
autosize.destroy(this.el)
}
})
Je l'utilise à l'intérieur du composant de fichier et l'importe ainsi:
import Autosize from 'components/directives/autosize.js'
l'enregistrez ainsi:
directives: {
Autosize
}
À l'intérieur de mon composant de fichier, j'essaie de l'utiliser comme ceci :
{{input}}
Autosize est un plugin censé faire grandir la zone de texte, bien sûr rien ne se passe lorsque je teste en ajoutant plus de texte. Mais il semble que ce ne soit pas autosize qui ne fonctionne pas mais peut-être que j'ai oublié quelque chose, même ces lignes ne sont pas imprimées :
console.log('autosize bind')
console.log('autosize update')
lorsque je crée dynamiquement le composant.
Quelqu'un a une idée de ce que j'ai oublié pour que la directive ne se lie pas ou ne se mette pas à jour?