2016-04-07 9 views
0

実際に私の要件は、一方のディレクティブスコープを別のディレクティブに取得し、双方向バインドを実行する必要があるということです。angularjs内のあるディレクティブスコープ値にアクセスするにはどうすればいいですか?

ng-modelが変更になるたびにJSON値を変更する必要があります。次の例では、属性を持つ行セットを持つJSONです。これらの属性名は、ng-model = CuIdのようなコントロール(テキストボックス)をバインドする必要があります。したがって、対応する属性値が変更されるたびに、JSONを更新する必要があります。

ソースコード:

var app = angular.module("myApp", []); 

app.directive("main", function() { 

}); 

app.directive("sub1", function() { 
    return { 
     restrict: 'E', 
     replace: true, 
     template : "<h1>sub1</h1>", 
     link: function($scope, element, attrs) { 
      $scope.soJSON={ 
       "entityinfo": { 
        "entity": "Customer29Jan16", 
        "tenantId": "292FEC76-5F1C-486F-85A5-09D88096F098", 
        "timeStamp": "2016-04-07T10:33:38.507Z" 
       }, 
       "collections": { 
        "Customer29Jan16": { 
        "meta": { 
         "parentreference": "***", 
         "pkname": "***", 
         "fkname": "***" 
        }, 
        "rowset": [ 
         { 
         "CuId": "test", 
         "Name": "test", 
         "Quantity": "test"      
         } 
        ], 
        "rowfilter": [] 
        } 
       } 
       } 
     } 
    }; 
}); 

app.directive("sub2", function() { 
    return { 
     template : "<input ng-model=CuId> <input ng-model=Name> <input ng-model=Quantity>" 
    }; 
}); 

HTMLコード:

<div ng-app="myApp"> 
<main> 
    <sub1>Test<</sub1> 
    <sub2>Test<</sub2> 
</main> 
</div> 

JSフィドルリンク:https://jsfiddle.net/bagya1985/23vz1xux/1/

答えて

1

まあAngularJSが必要な複数のディレクティブの間で共有されているコントローラですディレクティブコントローラを、サポートしていますあなたの子供の指示にrequire:'^main'を使用する必要があります。あなたはリンクを確認することができます詳細についてはhttps://docs.angularjs.org/guide/directive

+0

私のフィドルリンクを使用してガイドすることができます。 – bagya

関連する問題