angularjs中自定义的指令中scope的值为{}创造了一个隔离作用域,但依然能访问到父级作用域中的属性,怎么回事?(隔离作用域应该不能访问父级作用域的属性啊,在没有进行绑定策略之前)
巴扎黑2017-05-15 17:09:33
まず第一に、この例では、scope 属性に値を割り当てていません。スコープ属性には、true、false、{} の 3 つの値があります。 false はデフォルト値です。
デフォルト、false。このとき、子スコープと親スコープは一つであり、scope.$$idの値は同じになります。
が true の場合、新しいスコープが作成され、scope.$$id の値は異なります。ただし、このスコープは親スコープから継承します。 これは、ネイティブ JS スコープ チェーンの特性と同じです。子スコープは親スコープのプロパティとメソッドにアクセスできますが、親スコープは子スコープのプロパティとメソッドにアクセスできません。
が {} の場合、それは本当の孤立です。現時点では、カスタム ディレクティブのスコープは親スコープとは関係ありません。しかし、それでも親スコープのプロパティ メソッドにアクセスしたい場合は、{} で対応するプロパティを設定するだけでよいでしょうか。具体的な設定方法についてはGoogle Baiduを参照してください。