簡體   English   中英

Angular js:ng-click后Ng-switch沒有更新

[英]Angular js: Ng-switch is not updating after ng-click

在我的原始代碼中,我首先檢查用戶是否可以標記討論,如果他們可以使用ng-switch,如果他們標記它們,他們將看到成功消息:

<div ng-if="canFlag(discussion)">
    <div ng-switch="isFlagging"
        ng-click="flagDiscussion(discussion.id)">

        <i ng-switch-when="false"
            class="icon-flag"
            aria-hidden="true"></i>

        <div ng-switch-when="true"
            ng-click="$event.stopPropagation()"
            >Successfully flagged</div>

    </div>
</div>

我想重構我的代碼,以便ng-click在false ng-switch條件內,並且我將刪除stopPropagation方法,例如:

<div ng-if="canFlag(discussion)">
    <div ng-switch="isFlagging">

        <div ng-switch-when="false"
            ng-click="flagDiscussion(discussion.id)">  
            <i class="icon-flag" aria-hidden="true"></i>
        </div>

        <div ng-switch-when="true">Successfully flagged</div>

    </div>
</div>

在第一個代碼中,ng-switch在ng-click之后工作,但是在第二個代碼中,ng-switch仍然是假的,即使在它被點擊時也是如此。 flagFlagging在flagdiscussion方法中切換為'true'。 因此,在單擊標志按鈕后,標志按鈕仍然存在且沒有任何變化。

我看到類似的帖子AngularJs:為什么我使用ng-click時不會更新ng-switch? 並將x.isFlagging添加到交換機,並在click語句后添加this.isFlagging = true,但添加了此項后,我甚至不再看到該標志按鈕。

任何人都知道為什么會這樣嗎?

js代碼:

$scope.flagDiscussion = function(id) {
        service.flagDiscussion(id);
        this.isFlagging = true;
    };

嘗試: ng-switch on="isFlagging"

AngularJs:當我使用ng-click時為什么不更換ng-switch? 實際上有正確的答案,我只是忘了將范圍x添加到js中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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