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

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

淡淡烟草味
淡淡烟草味

全員に返信(4)
巴扎黑

まず第一に、この例では、scope 属性に値を割り当てていません。スコープ属性には、true、false、{} の 3 つの値があります。 false はデフォルト値です。

デフォルト、false。このとき、子スコープと親スコープは一つであり、scope.$$idの値は同じになります。

が true の場合、新しいスコープが作成され、scope.$$id の値は異なります。ただし、このスコープは親スコープから継承します。 これは、ネイティブ JS スコープ チェーンの特性と同じです。子スコープは親スコープのプロパティとメソッドにアクセスできますが、親スコープは子スコープのプロパティとメソッドにアクセスできません。

が {} の場合、それは本当の孤立です。現時点では、カスタム ディレクティブのスコープは親スコープとは関係ありません。しかし、それでも親スコープのプロパティ メソッドにアクセスしたい場合は、{} で対応するプロパティを設定するだけでよいでしょうか。具体的な設定方法についてはGoogle Baiduを参照してください。

いいねを押す +0
Peter_Zhu

同じコントローラーではアクセスできますが、異なるコントローラーではアクセスできません

いいねを押す +0
左手右手慢动作

隔離されていない場合は、スコープを追加します。{}

いいねを押す +0
phpcn_u1582

スコープを分離するには 2 つの方法があります:

リーリー
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート