2017-05-31 108 views
1

我無法將複選框的結果從我的視圖傳遞給控制器​​,只是在控制檯日誌中顯示「未定義」。變量顯示爲undefined

僅供參考 - 我有我的控制器作爲「陣營」。

在我看來,我有以下幾點:

<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); 
} 

如果我只是使用功能記錄點擊事件,沒關係。但是當我嘗試通過「業務」對象時,它說「未定義」。

我在這裏丟失什麼?

回答

2

問題是您的<md-button>不在ng-repeat之外。您的ng-repeat</md-checkbox>結尾,所以當它到達按鈕時,business確實未定義。

嘗試重新格式化您的代碼,以便該按鈕仍在ng-repeat的範圍內。也許你想重複md-content而不是?我不確定頁面應該是什麼樣子,所以我不能提供更多的建議。

+0

感謝您的回覆。出於某種原因,我期待循環中的「商業」變體在ng-repeat之外可用。我在控制器中創建了一個var,然後我開始工作。 – cnak2