は、私がイメージを持つシンプルなチェックボックスをシミュレートディレクティブを持って結合双方向:これはng-repeat
の罰金外に動作します角度ディレクティブない
movieApp.directive("imageCheckbox",
function()
{
return {
restrict: "E",
scope: { ngModel: '=' },
template:
'<div ng-switch on="ngModel"> \
<div ng-switch-when="true"> \
<img src="/Content/Images/CheckTrue.png" ng-click="onClick()"> \
</div> \
<div ng-switch-default> \
<img src="/Content/Images/CheckFalse.png" ng-click="onClick()"> \
</div> \
</div>',
link: function(scope, element, attrs)
{
scope.onClick = function()
{
scope.ngModel = !scope.ngModel;
};
}
};
});
。ただし、ng-repeat
の内部では、ngModel
に双方向バインドされません。
<tr class="movie-info-row" ng-repeat="movie in movies">
<div class="movie-checkbox">
<image-checkbox ng-model="isSelectedToDownload" ng-click="onSelectToDownloadClick(movie.RefId)" />
</div>
あり、テーブルの行の内部より多くのですが、それはここでは関係ありません:
ng-repeat
は、テーブル内でこのようなものです。 onSelectToDownloadClick
ハンドラが動作し、私に正しいmovie.RefId
が返されますが、スコープ内のisSelectedToDownload
フラグは更新されません。 ng-repeat
の外部にあるときに更新されます。
アイデア?