离子单选按钮 - 控制器范围无法识别更改

时间:2015-02-20 10:16:31

标签: javascript angularjs angularjs-ng-repeat ionic-framework ionic

我在离子收音机按钮方面遇到了一些麻烦。当我更改所选的单选按钮时,离子显示正确的复选标记,但角度控制器无法识别任何更改。更具体地说,该更改不会影响用作单选按钮的ng模型的范围变量。

我创建了一个示例来展示我的问题:http://embed.plnkr.co/xjakgbnevTHZwF2pCC7e/preview

在示例中,所选选项显示在标题栏中。初始化控制器时,默认情况下第二项是选定的项。 Ionic似乎认识到,第二个选项是勾选的。然而,选择更改无法正确识别。

如果有人能帮助我,我将非常感激,非常感谢!

祝你好运

1 个答案:

答案 0 :(得分:4)

如果要在<ion-content> tage中显示它,那么就不需要使用$ parent提及范围层次结构。在这种情况下,您的代码将正常工作。 Example

我认为这与儿童范围相关的问题有关。要获得标题更新,您需要使用$parent.$parent

声明您的ng模型

<强> APP.html

<ion-view view-title="Radio button demo">
  <ion-header-bar align-title="left" class="bar-positive">
    <h1 class="title">Chosen option: {{item}}</h1>
  </ion-header-bar>  
  <ion-content>
    <ion-list>
      <ion-radio ng-repeat="i in items" ng-value="i.Id" ng-model="$parent.$parent.item" >{{i.Name}}</ion-radio>
    </ion-list>
  </ion-content>
</ion-view>

Working Plunkr


解决此问题的更好方法是使用Dot RulecontrollerAs(取消$scope,在控制器内部使用this模式。