gpt4 book ai didi

javascript - 无法使用 SweeAlert (angular-sweetalert) 更新 AngularJs 中的 View 调用两次更新 View 。为什么?

转载 作者:行者123 更新时间:2023-11-30 16:19:14 26 4
gpt4 key购买 nike

我正在使用 angular-sweetalert 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
});
});
}

这是 View :

 <button class="btn btn-default" ng-click="at.changeEmailAddress()">Change</button>

我面临的问题是,每当我调用 changeEmailAddress 函数时,输入我的内容然后按“确定”。它出现在函数(输入)中,我更改了用户输入的“at.user.email”中的值。

它在后端发生变化,但不会在 View 中更新。当我再次点击时,它会更新 View 。

我没有使用 $scope, $rootScope, 作为 John Papa Blog 在他的博客中提到。但是他没有提到调用ngDialog或者SweetAlert类型的服务时如何解析。

请帮助我如何刷新 View 并显示模型中的最新更改。

提前致谢。

最佳答案

在将 sweetalert 与 angular 一起使用时遇到了同样的问题。我找到的解决方案是调用:

$scope.$apply();

更新 DOM 之后。

访问http://nathanleclaire.com/blog/2014/01/31/banging-your-head-against-an-angularjs-issue-try-this/有关此解决方案的详细说明。

关于javascript - 无法使用 SweeAlert (angular-sweetalert) 更新 AngularJs 中的 View 调用两次更新 View 。为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34993758/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com