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

标签 javascript angularjs web-deployment designer sweetalert

我正在使用 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/

相关文章:

javascript - 访问从 Controller 获取的资源?

java - 在实时服务器上部署 Java EE 应用程序

javascript - 在 Angularjs 选择中设置值

javascript - 如何更改传单中的标记颜色?

javascript - 悬停时表格的十字准线突出显示

javascript - 如何制作字符串回文?

javascript - 如何将更多数据附加到 AngularJS 模型?

perl - 部署多个 mojolicious 应用实例

amazon-web-services - AWS eb init 不是有效的键=值对(缺少等号)

javascript - 从Ajax请求中一一获取结果