簡體   English   中英

Angular:$ scope.variable上的If-operations

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM