Si j'ai deux propriétés calculées comme ça,
computed: {
id: function(){ return this.$route.query.id; },
hasId: function(){ return this.$route.query.id !== undefined; }
}
comment utiliser id
pour calculer hasId
comme ce pseudo-code?
computed: {
id: function(){ return this.$route.query.id; },
hasId: function(){ return id !== undefined; }
}
Vous devez utiliser l'étendue correcte pour accéder à une propriété vue calculée.
comme vous utilisez juste id
, il le recherchera dans son étendue globale et ne le trouvera pas et retournera undefined. Pour obtenir la propriété vue calculée, vous devez faire: this.id
, afin que votre code ressemble à ce qui suit:
computed: {
id: function () { return this.$route.query.id; },
hasId: function () { return this.id !== undefined; }
}
Dans un composant, this
fait référence à notre instance Vue . Cependant, vous pouvez accéder à $ route et à d'autres fonctions similaires à partir de this
, comme ils sont définis à Vue.prototype
, voir le code ci-dessous de vue-router :
Object.defineProperty(Vue.prototype, '$route', {
get: function get$1 () { return this.$root._route }
})
votre pseudo-code était très proche. Il suffit de changer id
en this.id
computed: {
id: function(){ return this.$route.query.id; },
hasId: function(){ return this.id !== undefined; }
}