Angular dart单选按钮无法绑定到模型

时间:2015-07-13 22:12:48

标签: html radio-button dart angular-dart

我有一个带有以下html的Angular Dart组件:

编辑:由于某些原因,我的某些HTML没有正确复制。在标签标签之外我有:

<div class="btn-group btn-group-vertical" data-toggle="buttons">

`

    <label ng-repeat="item in items" class="btn btn-primary btn-sm btn-block" ng-show="isItemVisible(item)">

        <input type="radio" name="options" value="{{item}}" ng-model="selected">{{item}}
            <span class="badge pull-right"><span class="glyphicon glyphicon-ok"></span></span>

    </label>
</div>`

但是,这永远不会更新模型。我也尝试过使用onclick,ng-click和ng-change,结果相同 - 函数永远不会被调用。是否有一些指令我使用不正确?

2 个答案:

答案 0 :(得分:4)

ng-click中使用Future,这样可以让您的模型得到更新。

    <input type="radio" name="options" value="{{item}}" 
         ng-model="selected" ng-click="radioButtonClicked();">{{item}}</input>

   //Component Code:
   void radioButtonClicked(){
            new Future((){
                //Use your selected model here.
            });
   }

答案 1 :(得分:1)

$ parent应该做的伎俩。这是一个有效的例子:

<强> HTML

<div>
  <div ng-repeat="item in items">
    <label for="{{item.name}}">{{item.name}}:</label>
    <input id="{{item.name}}" type="radio" ng-model="$parent.$parent.selected" ng-value="item.value" />
  </div>

  <strong>Selected value:</strong> {{$parent.selected}} <br/>
</div>

<强>控制器

$scope.items = [{
  name:'Item1',
  value: 'value1'
}, {
  name:'Item2',
  value: 'value2'
}, {
  name:'Item3',
  value: 'value3'
}];

$scope.selected = null;