首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >隔离作用域2路绑定不会更新父作用域的值

隔离作用域2路绑定不会更新父作用域的值
EN

Stack Overflow用户
提问于 2015-09-05 16:53:19
回答 1查看 57关注 0票数 0

你好,我有一个指令foo,我的控制器在其中

代码语言:javascript
复制
$scope.valid = false

我通过模板中的隔离作用域在另一个指令中传递此变量

代码语言:javascript
复制
<bar valid="valid">

并在我的模板中使用ng-if

代码语言:javascript
复制
<span ng-if="valid">Validated<span>

现在,当我在我的子指令中更新有效时。它显示已在我的模板中验证。但是变量没有在我的父指令控制器中更新。为什么会发生这种情况?

EN

回答 1

Stack Overflow用户

发布于 2015-09-05 17:08:40

注意:在我的子控制器中,我将变量附加到控制器而不是作用域。这就是它表现成这样的原因吗?

实际上,如果在您的子指令控制器代码中编写

代码语言:javascript
复制
function MyController($scope) {
    this.valid = $scope.valid;
}

那么设置控制器对象的valid属性将不会更改$scope.valid,因为您执行了valid的副本。

相反,继续使用$scope将有关更改的信息传递回父级。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32411213

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档