【发布时间】:2014-06-19 04:19:12
【问题描述】:
我还是 angularjs 和范围的新手,但是我遇到了在子控制器中更改的范围值没有正确影响父值的问题。
一个例子:
我有一个子控制器来监视文本区域的变化。当它们发生时,我设置一个布尔标志来指示文档有未保存的更改。
editor.on('input propertychange', function(){
$scope.unsaved = true;
}).focus();
但是,这似乎永远不会过滤到父范围。我的根模板有一个锚点:
<a ng-class="{'active': unsaved}" ...
该类在加载时已正确设置,但在 $scope.unsaved 更改时永远不会更改。
如果我设置$scope.$parent.unsaved,它只会在输入事件第二次触发时更改模板。
【问题讨论】:
-
设置变量后有没有试过
$scope.$apply();? -
是的,我得到的只是一个错误“未定义不是函数”
-
你能很快做出一个 plunkr 以便我们看到它运行吗?
标签: javascript angularjs