【发布时间】:2015-01-07 18:23:55
【问题描述】:
我正在使用 magnific popup 将模式窗口加载到我的 html 中,这实际上是这样做的:
<html ng-app='basket'>
<body ng-controller='BasketController as basket'>
<a id='open' href='/product/1'>Open modal</a>
<a ng-click='addToCart(1)'>Add to cart</a>
</body>
</html>
... Ajax 加载后
<html ng-app='basket'>
<body ng-controller='BasketController as basket'>
<div class='modal>
<h1>Product title</h1>
<a ng-click='addToCart(1)'>Add to cart</a>
</div>
<a id='open' href='/product/1'>Open modal</a>
<a ng-click='addToCart(1)'>Add to cart</a>
</body>
</html>
但是模态框内的ng-click 不会触发。 有没有办法可以刷新包含模式内容的范围?
首先,我想我可以通过向打开模式按钮添加 ng-click 来尝试一下,该按钮可以将范围传递给打开模式的另一个函数。我有一个函数可以在加载后对$scope 进行控制台记录,但我只需要刷新或其他东西来让 Angular 识别模态窗口中的新 html。
【问题讨论】:
-
我需要查看加载模式的代码。您可以潜在地 $digest html,但这不是必需的。最好的解决方案是使用适当的 angular-ui 模态,例如角模态-github.com/btford/angular-modal。这将为您提供您需要的工具(例如提供控制器)以使点击正常工作。