【问题标题】:AngularJS: access scope from bootstrap-ui accordionAngularJS:从 bootstrap-ui 手风琴访问范围
【发布时间】:2013-07-10 20:20:21
【问题描述】:

我正在尝试 $watch 以查看 ui-bootstrap 手风琴中模型的更改。绑定在视图中起作用,但是当模型更改时,$watch 不会触发。

http://plnkr.co/edit/DcoGT2?p=preview

如何在控制器中获取 $scope.myModel 的值?

【问题讨论】:

    标签: angularjs angular-ui


    【解决方案1】:

    使用对象而不是原语:

    <div ng-controller="AccordionDemoCtrl">
      <accordion>
        <accordion-group heading="Static Header">
          <input ng-model="model.myModel"> {{ model.myModel }}
        </accordion-group>
      </accordion>
    </div>
    

    angular.module('plunker', ['ui.bootstrap']);
    function AccordionDemoCtrl($scope) {
      $scope.model = {myModel: ''};
      $scope.$watch('model.myModel',function(){
        console.log($scope.model.myModel);
      })
    }
    

    Plunker

    【讨论】:

    • 这只是为我解决了一个问题 - 但有人能解释一下为什么原语在这里不起作用吗?
    • @henry,可能是因为手风琴组指令创建了一个子作用域,所以孩子得到一个副本,而不是引用。欲了解更多信息,请参阅stackoverflow.com/questions/14049480/…
    猜你喜欢
    • 1970-01-01
    • 2014-04-15
    • 1970-01-01
    • 2015-10-13
    • 2017-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多