Passage d'Argument pour Objet JavaScript Getter
var URIController = {
get href() {
return url.location.href;
}
}
J'ai au-dessus de la structure de l'objet. Mais URIController.href
propriété dépend d'un autre objet, url
.
Si le url
est défini à l'échelle mondiale, URIController.href
œuvres. Mais je veux passer url
objet de href
de lecture manuellement.
var URIController = {
get href(url) {
return url.location.href;
}
}
Changé le getter pour accepter le paramètre d'url mais
URIController.href(url)
déclenche une erreur car href n'est pas une fonction.
Est-il possible de passer des arguments à getter en javascript?
Autant que je sache, il n'est pas possible de passer des arguments à une lecture dans n'importe quelle langue, vous feriez soit utiliser un "normal" fonction ou d'introduire une dépendance
Eh bien... il y a au moins langues qui permet...
Eh bien... il y a au moins langues qui permet...
OriginalL'auteur John Bernard | 2016-05-21
Vous devez vous connecter pour publier un commentaire.
Dans votre exemple, vous n'êtes pas en invoquant de la lecture, mais plutôt une fonction de l'objet appelé
href
, qui n'existe pas. Mais le propriétéhref
n'existe pas.Getters ne nécessitent pas d'invocation explicite avec la parenthèse et ne peut donc pas accepter des arguments. Leur invocation est implicite via le standard de la propriété de la syntaxe d'accès, par exemple
URIController.href
.De de lecture de la documentation sur MDN:
______
Si vous avez besoin d'accepter des arguments, l'utilisation d'une fonction à la place:
Ou à l'aide de ES6 fonction de l'objet de la sténographie de syntaxe:
Je sais que vous avez probablement compris cela maintenant, mais une note pour les autres: pour le "getter" pour recevoir le paramètre de l'url lorsqu'il est employé dans la bibliothèque, vous pouvez avoir à modifier chaque utilisation de la lecture, de toute façon.
OriginalL'auteur sdgluck
Non, vous ne pouvez pas passer d'un argument à un "getter" utiliser un "setter" plutôt.
OriginalL'auteur rudi Ladeon