1 つのコントローラーと 3 つのタブを含むページがあり、各タブには独自の ng-grid と、表示される行をフィルター処理するためのテキスト ボックス (組み込みのフィルター ボックスではありません) が表示されます。
各タブで使用するフィルター ボックス用に、この単純なディレクティブを作成しました (他のページで行ったように)。
myDirectives.directive('myGridFilter', function() {
return {
restrict: 'E',
templateUrl: 'filterTemplate.html'
}
});
これは filterTemplate.html です:
<label input="filterLabel" for="filterBox">Filter: </label>
<input id="filterBox" type="text" placeholder="type filter here" ng-model="gridOptions.filterOptions.filterText" />
3 つの ng-grid ( $scope.gridOptions_1
、$scope.gridOptions_2
および$scope.gridOptions_3
) を作成し、それぞれがそのタブの適切なデータセットを参照しています。
私の質問は、どのようにディレクティブを変更して、vs. vs. vs. plain oldng-model
と指定できるようにするかということです。gridOptions_1.filterOptions.filterText
gridOptions_2.filterOptions.filterText
gridOptions_3.filterOptions.filterText
gridOption.filterOptions.filterText
これが私が試したものですが、成功しませんでした...
scope: { subgrid: '@subgrid' }
ディレクティブに追加- テンプレート ファイルを次のように変更しました。
ng-model="gridOptions{{subgrid}}.filterOptions.filterText"
ng-model="gridOptions[subgrid].filterOptions.filterText"
ng-model="gridOptions[scope.subgrid].filterOptions.filterText"
- マイページのディレクティブへの参照を次のように変更しました
<myGridFilter subgrid="_1"></myGridFilter>
gridOptions
また、他のページで一般的なケースのディレクティブを再利用できるようにしたいので{{subgrid||''}}
、テンプレートも試しましたが、取得方法がわかるまで、デフォルトのケース '' に対応しようとはしませんでした。最初に動的ng-model
作業...
あなたの助けと提案をありがとう!