アプリでポップアップを表示するためにangular-sweetaler libを使用しています。
function _changeEmailAddress() {
sweet.show({
title: "Change Email Address",
text: "Write your email address:",
type: "input",
showCancelButton: true,
closeOnConfirm: false,
animation: "slide-from-top",
inputPlaceholder: 'Enter e mail address'
},
function (inputValue) {
if (inputValue === false) return false; if (inputValue === "") {
sweet.showInputError("You need to write Email address!"); return false
}
at.user.email = inputValue;
var ret = userProfileFactory.updateUserEmailAddress(at.user)
.success(function (data) {
sweet.show("Accepted!", "You wrote: " + inputValue, "success");
at.user.pendingEmailVerification = true;
})
.error(function (err) {
sweet.showInputError("You need to write proper Email address!"); return false
});
});
}
ここにビューがあります:
<button class="btn btn-default" ng-click="at.changeEmailAddress()">Change</button>
私が直面している問題は、changeEmailAddress関数を呼び出すたびに、入力してから[OK]を押すことです。それは関数(入力)に入り、ユーザーが入力した「at.user.email」の値を変更します。
バックエンドで変更されますが、ビューでは更新されません。もう一度クリックすると、ビューが更新されます。
John Papa ブログが彼のブログで述べたように、私は $scope、$rootScope を使用していません 。しかし、ngDialog や SweetAlert タイプのサービスを呼び出す際の解決方法については言及していませんでした。
ビューを更新してモデルの最新の変更を表示する方法を教えてください。
よろしくお願いします。