我有一个指令,我在我的应用程序的两个不同位置使用,我需要在我的应用程序中的一个状态中禁用指令模板中的输入,而不是另一个。
我试过了:
<input type="number" ng-model="data" ng-disabled='$state.current.name == "findRates"'/>
没有运气。如果我将ng-disable更改为如下所示:
ng-disabled='checkState()'
使用控制器中的checkState函数:
$scope.checkState = function() {
if ($state.current.name == 'findRates') {
return true;
}
};
这很好用,但是,我想在视图中执行此操作,而无需控制器中的额外位。我只是错过了一些东西吗?我也试过使用$ location,没有运气,我宁愿使用$ state但是我愿意接受任何建议。谢谢你。
答案 0 :(得分:1)
因为你的控制器将$state
作为依赖项,但是视图只接触$scope
个变量,所以把变量放在它上面就像
$scope.shouldDisable = $state.current.name == 'findRates'
然后在视图
上使用shouldDisable
<input type="number" ng-model="data" ng-disabled="shouldDisable"/>