Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 子控制器$scope属性更改未更新父控制器_Javascript_Angularjs - Fatal编程技术网

Javascript 子控制器$scope属性更改未更新父控制器

Javascript 子控制器$scope属性更改未更新父控制器,javascript,angularjs,Javascript,Angularjs,我仍然不熟悉angularjs和作用域,但我在子控制器中更改的作用域值没有正确影响父值方面遇到了问题 一个例子: 我有一个子控制器,可以监视文本区域中的更改。当它们发生时,我设置了一个布尔标志来指示文档有未保存的更改 editor.on('input propertychange', function(){ $scope.unsaved = true; }).focus(); 然而,这似乎从来没有过滤到父范围。我的根模板有一个锚点: <a ng-class="{'active':

我仍然不熟悉angularjs和作用域,但我在子控制器中更改的作用域值没有正确影响父值方面遇到了问题

一个例子:

我有一个子控制器,可以监视文本区域中的更改。当它们发生时,我设置了一个布尔标志来指示文档有未保存的更改

editor.on('input propertychange', function(){
   $scope.unsaved = true;
}).focus();
然而,这似乎从来没有过滤到父范围。我的根模板有一个锚点:

<a ng-class="{'active': unsaved}" ...

你可以做的一件事是不要

editor.on('input propertychange', function(){
$scope.unsaved = true;
}).focus();
您只需添加一个
ng更改
事件:

<input type="text" ng-model="a" ng-change="madeChange()"/>

Plunkr

我制作了一个工作示例,在控制器之间使用双向数据绑定,并且完全使用angularjs,没有第三方代码


您是否尝试过
$scope.$apply()设置变量后?是的,我得到的只是一个错误“undefined is not a function”(未定义不是函数)您能快速创建一个plunkr以便我们看到它运行吗?
$scope.madeChange = function() {
    $scope.saved = false;
}