我想基于$ scope值运行一个函数。在我的控制器中,我有:
$scope.value = "";
$scope.selector = function(info) {
if ($scope.value === "") {
$scope.value = info;
} else {
$scope.value = "";
}
}
该功能在不同图像的ng-click时触发,例如:
<img ng-src="..." ng-click="selector(info)">
我的问题是if-operations似乎不适用于$ scope值。我也尝试过:
$scope.$watch('value', function(val) {
if(val === "") {
$scope.value = info;
}
}
如果它在函数外部,则可以工作,但如果我将它放在选择器函数中则不行。总是欢迎更好的方法。谢谢你的任何解释。
答案 0 :(得分:1)
您需要将参数从视图传递给函数,因为您的函数需要输入参数
将视图更改为,
img ng-src="..." ng-click="selector(value)">
答案 1 :(得分:1)
尝试将值包含在对象中。在某些情况下,Angular不能&#34;看&#34;变量发生了变化。
所以,试着保留类似的东西:
$scope.value = { value: "" };
并相应地更改其余代码。
我在代码中使用了一些修复程序并使用了我对您说的内容: Running example
在这个例子中你可以看到val ===&#34;&#34;返回真假。