AngularJS ng-disabled directive with expression is not working
The ng-disabled
expression is evaluated in the present scope. Hence, you should only need the following without any extra interpolation with {{..}}
:
<input type="submit"
value="Register"
ng-show="isNewUser"
ng-disabled="!hasAcceptedTnC(tnc)">
Note that I added a !
since you probably want the button disabled if the user has not accepted the TnC.
Working demo: http://plnkr.co/edit/95UiO4Rd2IMh8T1KjSQK?p=preview
A comment was posted below asking how to reason about when to use {{...}}
and when to use bare expression with a given ng-*
directive. Unfortunately, there is no syntactical clue hidden in the directives which can reveal that information. Looking at the documentation will turn out to be fastest way to find out this information.