angulaire.js - Problème avec la portée de la directive personnalisée dans Angularjs
淡淡烟草味
淡淡烟草味 2017-05-15 17:07:33
0
4
800

La valeur de scope dans la directive personnalisée dans angulairejs est {}, ce qui crée une portée isolée, mais vous pouvez toujours accéder aux propriétés dans la portée parent. Que se passe-t-il ? (La portée d'isolation ne doit pas pouvoir accéder aux propriétés de la portée parent avant que la stratégie de liaison ne soit implémentée)

淡淡烟草味
淡淡烟草味

répondre à tous(4)
巴扎黑

Tout d’abord, vous n’avez pas attribué de valeur à l’attribut scope dans votre exemple. L'attribut scope a trois valeurs : true, false, {}. false est la valeur par défaut.

Par défaut, faux. À l’heure actuelle, la portée enfant et la portée parent ne font qu’une, et la valeur de scope.$$id est la même.

Lorsque

est vrai, une nouvelle portée est créée et la valeur scope.$$id est différente. Toutefois, cette portée hérite de la portée parent. C'est la même chose que les caractéristiques de la chaîne de portée js native. La portée enfant peut accéder aux propriétés et méthodes de la portée parent, mais la portée parent ne peut pas accéder aux propriétés et méthodes de la portée enfant.

Quand

vaut {}, c'est un véritable isolement. Pour le moment, la portée de la directive personnalisée n'a rien à voir avec la portée parent. Mais que se passe-t-il si vous souhaitez toujours accéder aux méthodes de propriété de la portée parent ? Configurez simplement les propriétés correspondantes dans {}. Veuillez vous référer à Google Baidu pour la méthode de configuration spécifique.

Peter_Zhu

Vous pouvez y accéder dans le même contrôleur, mais vous ne pouvez pas y accéder dans différents contrôleurs

左手右手慢动作

Vous n'êtes pas en quarantaine. Si vous êtes en quarantaine, ajoutez la portée :{}

phpcn_u1582

Il existe deux manières d'isoler la portée :

scope: true
scope: {}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal