我有以下plunkr:here。任何人都可以请解释为什么trimName指令不改变模板上的文本?我在控制台看到文字“修剪”,但我没有看到它反映出来。我认为我处于“角度世界”,因为我看到$apply already in progress
,如果我尝试$应用范围。为什么此范围变量不会触发更改?
0
A
回答
1
我们可以将问题想象为“竞态条件” $digest
已在进行中,您的值将被AngularJS覆盖。
简单的解决方法将是以后用$evalAsync
来评估你的语句:
if(scope.trimName.length > intLimit) {
scope.$evalAsync(function() {
scope.trimName = scope.trimName.substring(0, intLimit) + "...trimmed";
});
}
+1
这太棒了!我已经将我的头靠在墙上撞了近两个小时:D – Geo
+0
我明白你的痛苦......我在几周前有过类似的问题...... :) –
相关问题
- 1. 为什么angularjs指令继承范围但不更改范围变量?
- 2. 为什么变量不在范围内?
- 3. 当MKMAPVIEW范围发生变化时会触发什么事件
- 4. JavaScript范围得到改变?为什么会发生?
- 5. PHP:更改变量范围
- 6. SSIS更改变量范围
- 7. 为什么我的指令不会插入其范围变量?
- 8. 为什么$范围不会在警告框中更改? (angularJS)
- 9. 范围输入更改事件不会触发
- 10. MutationObserver在范围文本更改时不会触发
- 11. 为什么变量超出范围?
- 12. 方法范围变量的事件会发生什么?
- 13. 为什么触发点击不会改变标签导航?
- 14. 为什么改变输入的事件不会用jQuery触发?
- 15. Angular JS范围变量依赖于另一个范围变量,不会更新
- 16. 为什么浏览器不会触发更改事件
- 17. 为什么我的jquery更改事件不会触发?
- 18. 触摸次数变化时为什么触摸不会触发?
- 19. 为什么我不能更改变量?
- 20. 为什么Microsoft Oauth2 API会更改授权请求的范围?
- 21. 为什么触发器不是模式范围的?
- 22. AngularJs $范围变化不会改变
- 23. JavaScript:为什么更改参数变量会改变`arguments`“数组”?
- 24. 为什么我的before_validation方法不会触发如果某些验证范围?
- 25. 为什么这个变量没有更大的范围?
- 26. 为什么动态更改复选框不会触发表单更改事件?
- 27. 为什么这个触发器会使更新变得如此缓慢?
- 28. 如果范围变量不在对象中,为什么不会ng类工作?
- 29. 更改变量超出范围?
- 30. 更改项目范围变量
鉴于你在这里做的是有可能你可以只使用“修剪”过滤器:http://jsfiddle.net/tUyyx/ –
啊,没有。这只是一个例子。我并不是在寻找修剪功能。我试图找出潜在的问题是什么。 – Geo