1)HTML: 1.1):
<select class="fm_textbox" name="sltGender" ng-model="measurementsForm.gender" ng-class="{'fm_error':measurementsForm.error_gender}" ng-change="change_state(0, measurementsForm.gender)">
<option value=""></option>
<option value="woman">Femme</option>
<option value="man">Homme</option>
</select>
1.2):
<button type="submit" class="fm_button" my-button="measurementsForm.gender != ''">CALCULER MA TAILLE</button>
2)directive.js:
angular.module('FitManagerApp.directives', []).directive('myButton', function(){
return {
restrict: 'A',
scope: {
myButton: '='
},
link: function(scope, element, attrs) {
if (!myButton) {
element.css('background-color', 'red');
}
else {
element.css('background-color', 'black');
}
}
};
});
我还有一个包含变量的controllers.js:measurementsForm.gender。 当我有价值时,我希望我的颜色变黑。如果不是,那就是红色。 在我发布这个问题之前,我已经搜索了许多关于“通信指令控制器”的问题,我使用了“=”,就像他们推荐的那样但是没有用。
答案 0 :(得分:0)
您的链接功能中没有变量myButton
,您需要检查是否!scope.myButton
,因此您的链接功能将如下所示:
if (!$scope.myButton) {
element.css('background-color', 'red');
}
else {
element.css('background-color', 'black');
}