【问题标题】:AngularJS bootstrap dialog reopen issueAngularJS引导对话框重新打开问题
【发布时间】:2013-03-18 23:06:09
【问题描述】:

我正在使用引导对话框来编辑和创建新元素。从 jQuery click 处理程序调用打开对话框以创建新元素的函数,因为这是由 3rd 方库完成的。

通过指令调用打开对话框以编辑元素的函数。

每次通过指令打开对话框都可以正常工作。第一次通过 jQuery 单击处理程序打开对话框也可以正常工作,但是当我关闭对话框并尝试通过单击处理程序再次打开它时,它不会打开,直到单击带有指令的按钮然后两者(编辑和新项目)对话框打开。

我在这里做了一个简化的例子:http://plnkr.co/edit/HGvrqH?p=preview

我做错了什么?

【问题讨论】:

标签: jquery twitter-bootstrap angularjs


【解决方案1】:

您需要在 $scope.$apply 调用中包含从 Earth 到 Oz 的过渡:

window.newItem = function(){
  $scope.$apply(function () {
    $scope.newItem();
  });
};

如果您查看 Angular UI Boostrap Dialog source,您可能会注意到一些基于 Promise 的状态管理,例如围绕第 229 行加载模板的内容。注意您将如何陷入不同的异步行为,具体取决于是否您是否已加载模板(第一次按下按钮后会发生变化的情况)。 documentation for $q 很好地说明了需要通过使用 $apply 将此类活动放入 Angular 的摘要循环中。

【讨论】:

  • @Premier:举个例子?
猜你喜欢
  • 2018-05-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-25
  • 1970-01-01
相关资源
最近更新 更多