如何在一个很长的HTTP请求之后更新DOM,而不用在Angular中使用$scope
How to update the DOM after a long HTTP request without anything to do with $scope in Angular
在Angular中,我们可以使用$apply或$digest来更新DOM。然而,我想在不使用$scope的情况下练习编码,以便更容易适应Angular 2,但我不知道如何更新HTTP请求后的DOM !!
如果你不想使用$scope
来连接你的控制器和视图,你可以使用controller as
语法:
<body ng-controller="MainCtrl as main">
<p>Hello {{main.name}}!</p>
</body>
在您的控制器中,将this
绑定到self
或其他一些您将识别的变量是很好的做法,以便您可以稍后引用它们。你可以使用this
,但如果你不把它绑定到一个变量,它会变得混乱和复杂。
app.controller('MainCtrl', function($scope) {
var self = this;
self.name = 'test'
});
我不确定这种模式是否能让你习惯angular 2,但有些人认为这是在angular中编写代码的更好方式。
如果出于某种原因你需要触发$digest,我认为通常被接受的hack方法是在你需要触发$digest时运行$timeout。$timeout固有地调用一个
$timeout(function(){},0);
如果我需要关注一些变化的数据,我可能会设置一个$watch。
相关文章:
- 如何确定Vue何时完成DOM更新
- DOM 更新问题
- ReactJS:如何从 DOM 更新 React
- 同一函数中的多个 DOM 更新
- Meteor JS渲染和DOM更新
- 简单的 AngularJS DOM 更新
- Safari:绝对定位的DIV在通过DOM更新时不会移动
- 任何视图模型dom更新的Knockout JS事件
- 使用DOM更新时不会触发输入文本事件
- 在Webkit中同步重绘/等待DOM更新
- 在不触发DOM更新的情况下更改URL
- Rails 3和Ajax/JSON/JQuery/直接DOM更新-与Scaffold程序一起使用
- 什么时候DOM更新完成,在javascript中添加子元素
- 羊驼javascript dom更新
- jQuery/Javascript -如何在继续执行函数之前等待被操纵的DOM更新
- 如何使用javascript和HTML DOM更新HTML元素的颜色?
- dojotoolkit中DOM更新有轻微延迟
- 暂停jQuery就绪事件,直到多个HTML DOM更新完成
- 严重的问题与后退按钮,Chrome和DOM更新
- 有没有一种编程方法来知道jQuery的DOM更新何时完成