2016-04-09 12 views
0

私は角度を学習しています。角度を固定するには、jQueryの背景と問題に直面しています。だから私は多くの角度コードで多くの事を理解するためにつまずく。AngularJSのscope insideディレクティブとは何ですか?

以下のコードを見ただけで、以下のディレクティブでどのようなスコープが行っているのか分かりません。

しかし、私は下の指示からスコープを削除すると、何がうまくいかないでしょうか? 可能であれば、例を使ってスコープの使用法とその重要性を理解するのを手伝ってください。おかげであなたはscope: { price: '=' }を持っているサンプルで

<li my-directive price="item.price" ng-repeat="item in products">{{item.name}} &mdash; {{item.price}}</li> 

    myApp.directive('myDirective', function(){ 
     return { 
     scope: { price: '=' }, 
     require: 'ngModel', 
     link : function(scope){ 
      console.log(scope.price) 
     }, 
     controller: function(scope, element, attrs, ngModel){ 
      console.log(ngModel.price); 
      console.log(scope.price); 
     } 
     } 
    }); 
+0

、それはすでによく説明しています。ディレクティブに分離スコープが必要な場合は –

答えて

1

は、ディレクティブの内部スコープ変数priceが正確に親のスコープにバインドされていることを述べています。それにアクセスし、親スコープの値を変更すると、指示文の値priceも変更されます。

ディレクティブscope: { ... }からこの行を削除すると、新しいディレクティブが作成されません。しかし、それはまだ動作します - それはエラーを作成しないことを意味します。 isolated scopesが必要な場合や必要がない場合があります。 - "Thinking in AngularJS" if I have a jQuery background?

  • $スコープ自体の角度で - How does data binding work in AngularJS?
  • 様々な

    1. 角度jQueryの対:次の偉大なリソースをチェックしてください -

      は物事が、角​​度やスコープでどのように機能するかをよりよく把握するために、ディレクティブのスコープ変数のタイプ - What is the difference between '@' and '=' in directive scope in AngularJS?

  • 0

    ディレクティブが使用するスコープ設定オブジェクトについて言及していない場合は親のスコープですが、スコープオブジェクトに言及すると独自の独立スコープが作成されます。

    スコープオブジェクトがない場合は、親コントローラの変数に直接アクセスできます。

    REF:私は非常に[角度のドキュメント](https://docs.angularjs.org/guide/scope)を構成読むことをお勧めしますhttp://www.undefinednull.com/2014/02/11/mastering-the-scope-of-a-directive-in-angularjs/

    +0

    ?分離スコープの重要性を説明する適切なサンプルコードを探しています。 – Mou

    +0

    隔離スコープで値を変更すると、変更がコントローラスコープに反映されますか? – Mou

    関連する問題