angular.js - angularjs中自定义指令scope的问题
淡淡烟草味
淡淡烟草味 2017-05-15 17:07:33
0
4
774

angularjs中自定义的指令中scope的值为{}创造了一个隔离作用域,但依然能访问到父级作用域中的属性,怎么回事?(隔离作用域应该不能访问父级作用域的属性啊,在没有进行绑定策略之前)

淡淡烟草味
淡淡烟草味

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!