簡體   English   中英

從$ mdDialog更新綁定

[英]Update bindings from $mdDialog

我正在使用md-switch,它綁定​​到范圍變量$ scope.warningToggle。 當我單擊開關時,它彈出並顯示一個確認對話框,要求用戶確認他們是否真的要切換該開關。 如果用戶單擊“取消”或更新失敗,則我希望該開關恢復到先前的位置,但似乎無法獲得要更新的綁定。 使用ng-change在交換機上調用showToggleConfirmation函數。 warningToggle變量的關閉狀態為0,開啟狀態為1。 revertToggle函數僅接受warningToggle並切換數字。 因此,如果它是1,則將其更改為0,反之亦然。 我嘗試了以下幾種變體:

$scope.showToggleConfirmation = function(event, customer, warningToggle) {
        var messageText = toggleMessage(warningToggle);

        var confirm = $mdDialog.confirm({
            title: 'Confirm',
            textContent: messageText,
            ok: 'Confirm',
            cancel: 'Cancel',
            scope: $scope,
            preserveScope: true,
            parent: angular.element(document.body),
            targetEvent: event,
        });

        $mdDialog.show(confirm).then(
            function(answer) {
                // Code when response is confirmed
            },
            function() {
                revertToggle();
            });
    }

因此,在這上面敲了兩天之后,一個朋友建議將scope變量變成一個數組對象,然后它起作用了。 如此宣布

$scope.a = {warningToggle:0};

他說,這很可能是由於原型繼承。 我是Angular和Java語言的新手,所以我需要先閱讀它,然后才能理解它的工作原理,但希望這可以對其他人有所幫助。

暫無
暫無

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

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