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