追加の代わりになるAngularディレクティブをまとめようとしています
ng-disabled="!canSave(schoolSetup)"
コントローラーで定義されている関数であるフォームボタン要素でcanSave
は、次のようなパラメーターがフォームの名前です。
$scope.canSave = function(form) {
return form.$dirty && form.$valid;
};
理想的には、送信ボタンのディレクティブを次のようにしたいです。
can-save="schoolSetup"
文字列はフォームの名前です。
それで...どうやってこれをしますか?これは私が得ることができる限りです...
angular.module('MyApp')
.directive('canSave', function () {
return function (scope, element, attrs) {
var form = scope.$eval(attrs.canSave);
function canSave()
{
return form.$dirty && form.$valid;;
}
attrs.$set('disabled', !canSave());
}
});
しかし、これは明らかにフォームモデルに適切にバインドされず、初期化でのみ機能します。このディレクティブ内から ng-disabled ディレクティブをバインドする方法はありますか、それとも間違ったアプローチですか?