md-radio-button无法识别ng-checked

sig*_*i13 0 javascript angularjs material-design

我正在尝试查看用户是否已订阅计划,如果是,请选中相应的单选按钮.

我有一组md单选按钮,我用ng-repeat创建:

          <md-radio-group class="md-primary" ng-model="plan">

        <div flex ng-repeat="planInfo in plans" class="plan-options">
          <md-radio-button value="{{planInfo._id}}" name="plan" class="md-primary" ng-checked="hasPlanID == planInfo._id" required>

            <h2 class="plan-name">{{planInfo.name}}</h2>

            <h3 class="plan-price">${{planInfo.price}}</h3>

          </md-radio-button>
        </div>

      </md-radio-group>
Run Code Online (Sandbox Code Playgroud)

我有一个服务,从数据库中获取所有计划:

      //check to see if user already has a plan
  MyService.GetPlan(currentUser.username).then(function (response) {
    if (response.success) {
      //This does resolve correctly
      $scope.hasPlanID = response.data.plan;

      MyService.GetAllPlans().then(function (response) {
        if (response.success) {
          //plans display properly
          $scope.plans = response.data;
        } else {
          $log.debug(response.message);
        }
      });
    } else {
      $log.debug(response.message);
    }
  });
Run Code Online (Sandbox Code Playgroud)

请注意HTML中的ng-checked属性.当我查看Chrome的检查器时,它会完全吐出您在代码中看到的内容,ng-checked ="hasPlanID == planInfo._id".

如何让它识别变量值并将实际表达式解析为true或false?

sig*_*i13 9

得到它了.似乎ng-checked不适用于md-radio-button,它只适用于html输入.您必须使用可以计算表达式的ng-class指令将md-checked类添加到md-radio-button元素:

<md-radio-button value="{{planInfo._id}}" name="plan" class="md-primary" ng-class="{'md-checked':$parent.hasPlanID == planInfo._id}" required>
Run Code Online (Sandbox Code Playgroud)