与布尔

时间:2015-05-18 05:06:32

标签: angularjs

我无法理解这一点,对于我在这里做错了什么的想法

<div class="radio-list">
<label>
  <input type="radio" name="optionsRadios2" value="true" ng-model="event.active" />
  Yes </label>
<label>
  <input type="radio" name="optionsRadios2" value="false" ng-model="event.active" />
  No </label>
</div>


  $scope.event.active = data.data[0].active ? "true" : "false";

最初尝试0和1,然后是真假,但仍然没有成功。

编辑(更多代码)。

result: function(data) {
    if(data.data.length > 0) {
        this.$scope.event.name = data.data[0].name; //works
        this.$scope.event.from = data.data[0].from; //works
        this.$scope.event.to = data.data[0].to; //works
        this.$scope.event.active = data.data[0].active ?  true : false; //doesnt work
        this.$scope.event.appId = data.data[0].appId;
        this.$scope.$apply();
        console.log(data.data);
        console.log(this.$scope.event.active, data.data[0].active);
    }
},

1 个答案:

答案 0 :(得分:3)

不要将它包装在引号"中,使其成为字符串

$scope.event.active = (data.data[0].active === 1) ? true : false;

广播的默认值为01,但您可以更改它,如果使用ng-value="true"

  <input type="radio" 
      name="optionsRadios2" 
      ng-value="true" 
      ng-model="event.active" /> 

Read more here

以下是您需要的working fiddle ng-value