AngularJS控制器-与视图元素交互
AngularJS controller - interacting with view elements?
在观看了AngularJS的最佳实践后,他们指出不应该在控制器中进行DOM操作,我完全相信这一点。
所以,假设我正在使用Twitter引导程序,并在那里显示一个模式对话框。如果我想通过控制器中的函数关闭此对话框。
那么我就不能继续做$('#registerDialog').modal('hide');因为这是将控制器绑定到DOM元素。
在控制器内执行此操作的正确方法是什么?
$scope.isModalHidden = <true|false>
如果这是异步操作(例如超时/服务器响应)的结果,则应该包装前面的语句,如下所示:
$scope.$apply(function(){
$scope.isModalHidden = <true|false>
});
这将导致Angular重新评估isModalHidden,即使它没有作为"自然"事件流的一部分进行更改。
完成后,您所要做的就是将其绑定到DOM,如下所示:
<div id="registerDialog" ng-hide="{isModalHidden}">...</div>
我希望这能有所帮助。
相关文章:
- 无法获取interact.js拖动&放弃交互以使用Boostrap元素
- 元素当前不可见,因此单击按钮时可能无法与之交互
- 是否可以使用chrome扩展名与非活动选项卡中的内容元素进行交互
- 禁止某些 svg 子元素的鼠标交互
- 错误:“元素当前不可见,因此可能无法与硒交互”
- 防止鼠标与透明元素背景交互
- 无法与转换的 html 元素交互
- 实现等待元素存在 N 秒,然后使用 JavaScript 和 jQuery lib 与元素交互
- 只有在未与元素交互的情况下,我才能为其设置动画
- AngularJS控制器-与视图元素交互
- 滚动时如何与元素交互
- 验证web元素是否可以与交互
- JQuery检测嵌套元素上的点击交互,导致巨大的循环
- 如果没有事件处理程序,网页如何知道我何时与元素交互
- 阻止元素进行UI交互
- 从独立的元素与WebGL场景交互
- 如何检测或注册自定义元素加载并准备与之交互的回调
- 类更改后无法与元素交互
- 在与页面上的元素交互时阻止滑动事件
- 如何与javascript元素交互