[英]Angular: If-operations on $scope.variable
我想運行一個基於$ scope值的函數。 在我的控制器中,我有:
$scope.value = "";
$scope.selector = function(info) {
if ($scope.value === "") {
$scope.value = info;
} else {
$scope.value = "";
}
}
按住ng鍵單擊不同的圖像時會觸發該功能,例如:
<img ng-src="..." ng-click="selector(info)">
我的問題是if操作似乎在$ scope值上不起作用。 我也嘗試過:
$scope.$watch('value', function(val) {
if(val === "") {
$scope.value = info;
}
}
如果它在函數外部,則可以使用,但如果將其放在選擇器函數中,則不能使用。 總是歡迎有更好的方法。 感謝您的任何解釋。
您需要將參數從視圖傳遞給函數,因為函數需要輸入參數
將視圖更改為
img ng-src="..." ng-click="selector(value)">
嘗試將您的值包含在對象中。 在某些情況下,Angular無法“看到”變量已更改。
因此,請嘗試保留以下內容:
$scope.value = { value: "" };
並相應地更改其余代碼。
我用您的代碼中的一些修復以及我對您說的內容做了一個代碼筆: 運行示例
在此示例中,您可以看到val ===“”返回true和false。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.