变量显示为未定义

时间:2017-05-31 19:07:13

标签: angularjs angularjs-controller

我无法将复选框的结果从我的视图传递到控制器,只是在控制台日志中得到“未定义”。

仅供参考 - 我的控制器是“阵营”。

在我看来,我有以下内容:

   <div  style="padding:20px;">
      <h5>Add a Business</h5>
      <md-content style="padding:20px;">

       <md-checkbox 
       ng-repeat="business in camp.businesses" 
       ng-model="business.selected" 
       aria-label="Checkbox"
       >
        {{business.business_name}}
      </md-checkbox>

      </md-content>

      <md-button class="md-raised" ng-click="camp.addBusinesses(business)">
        <i class="fa fa-plus"></i> Add 
      </md-button>

    </div>

在我的控制器中,我在“angular.extend()”

中有以下功能
addBusinesses: function(val){
  console.log('Display Results: ',  val);
}

如果我只是使用该功能来记录点击事件,那很好。但是当我尝试传递“业务”对象时,它会说“未定义”。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

问题是您的<md-button>位于ng-repeat之外。您的ng-repeat</md-checkbox>结尾,因此当它到达按钮时,business确实未定义。

尝试重新格式化代码,使按钮仍在ng-repeat的范围内。也许你想要md-content上的重复?我不确定页面应该是什么样子,所以我不能提供更多建议。