我有下面的plunkr:这里。有人能解释一下为什么trimName指令不改变模板上的文本吗?我在控制台上看到文本“微调”,但我没有看到它的反映。我认为我在“棱角世界”,因为如果我尝试$apply的范围,我会看到一个$apply。
发布于 2014-02-06 16:57:16
我们可以认为这个问题类似于“争用条件”,$digest已经在进行中,您的值被AngularJS覆盖。
简单的解决方法是稍后使用$evalAsync计算语句
if(scope.trimName.length > intLimit) {
scope.$evalAsync(function () {
scope.trimName = scope.trimName.substring(0, intLimit) + "...trimmed";
});
}下面是一个例子。
https://stackoverflow.com/questions/21608893
复制相似问题