【问题标题】:Strange one-way binding in Angular-UI ModalAngular-UI 模态中奇怪的单向绑定
【发布时间】:2014-03-01 22:55:59
【问题描述】:

我在 Angular-UI-Bootstrap 模式中遇到了一种奇怪的单向绑定行为。

在模态 html 中,两天数据绑定似乎工作正常,但控制器的范围变量模型由于某种原因没有更新。

但是,如果作用域变量是一个对象,那么双向绑定似乎会传播到控制器。

有人知道为什么会这样吗?无论如何要修复它?

我已经做了一个 plunker 来演示这个问题。

One way binding in Modal problem

【问题讨论】:

    标签: angularjs angular-ui-bootstrap


    【解决方案1】:

    这似乎是我看到人们遇到的最常见的问题; 嵌套范围。查看以下资源:http://jimhoskins.com/2012/12/14/nested-scopes-in-angularjs.html

    这基本上归结为以下几点。如果您尝试访问$scope.someVal,Angular 将在父链上搜索someVal,如果找到会将其返回给您。如果您尝试更改someVal,它只会在当前范围内创建一个新的someVal

    但是,如果您尝试访问 $scope.someObj.someVal,则读取行为相同。除了这一次如果你尝试改变someVal,它会改变someObj里面的值,不管是哪个作用域命令更新。

    【讨论】:

    • 感谢您的链接。我确信问题与嵌套范围问题有关,即使我尝试使用不同的名称、链接而不是使用范围选项参数链接到父范围。似乎没有什么不同。我想如果我想从模态控制器读取更改后的模型值,我只需要创建一个对象。
    猜你喜欢
    • 2016-05-24
    • 1970-01-01
    • 1970-01-01
    • 2019-09-14
    • 2014-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-07
    相关资源
    最近更新 更多