0

次のようなパーシャルを含むメイン ビューがあります。

 </div>
  <ng-include src="'/public/xyz.html'"></ng-include>
 </div>
 <div> 
   <span>{{abcd.Name}}</span>
 </div>

パーシャルには要素のクリック時に入力される変数があり、そのデータをパーシャルから親に渡す必要があります。変数は、パーシャルのコントローラーに次のように入力されます。

$scope.$parent.abcd = {"Name":"xyz"}

しかし、メインビューでアクセスしようとすると、存在しません。

親でそれにアクセスする方法は?

4

1 に答える 1

0

この問題の解決策の 1 つは、以下に示すように、AngularJs の $emit サービスを使用して、子から親に値を発行できることです。

パーシャルでは:

$scope.abcd = {"Name":"xyz"};// 親スコープに示す必要のあるオブジェクト

$scope.$emit("setabcd", [$scope.abcd,....]);

ここで、「setabcd」= エミッターの名前。ユーザー定義の名前。任意の一意の名前を使用できます。... =親スコープに通知されるオブジェクトまたは変数。

コントローラーで:

$scope.$on("setabcd",function(event,args){$scope.abcd=args[0]});

ここで、「setabcd」= エミッターの名前。名前はパーシャルで言及されているものと同じである必要があります。args=パーシャルから送信された項目の配列。

于 2014-05-17T05:29:57.707 に答える