2014-07-23 65 views
7

我想從這個$範圍內做一個簡單的console.log()

<div ng-controller="CustomerController" id="customer-block"> 

    <h3>Customer Information</h3> 

    <div class="col-md-4"> 
     <label>Address 1:</label> 
     <input type="text" ng-model="customer.address1" class="form-content" 
     id="customer-address1" /> 
    </div> 

    <div class="col-md-4"> 
     <label>Address 2:</label> 
     <input type="text" ng-model="customer.address2" class="form-content" 
     id="customer-address2" /> 
    </div> 

    <div class="col-md-4"> 
     <label>City</label> 
     <input type="text" ng-model="customer.city" class="form-content" 
     id="customer-city" /> 
    </div> 

</div> 

這是我的JavaScript文件:

lima3app.controller("CustomerController", function($scope){ 

    console.log($scope.customer); 

}); 

但該日誌返回給我undefined。那有什麼問題?

這是plunkr:http://plnkr.co/edit/MU2i46o03bs22Jwh6QIe

+1

'$ scope.customer'沒有在任何地方初始化,所以它應該是未定義的。在這些輸入中輸入內容後,它將開始有數據。 – runTarm

回答

5

正如其他人所說的,您需要初始化客戶對象。

由於沒有從控制器設置的客戶價值,因此它在視圖中顯示爲未定義。當你在輸入框中輸入值,這將不再是不確定的,但由於記錄只進行一次開始,在輸入框中鍵入值沒有任何影響

Plunker Demo

這是我所改變的部分in script.js

lima3app.controller("CustomerController", function($scope){ 

$scope.customer = { 
    address1 : 'address1', 
    address2 : 'address2', 
    city:'city' 
} 

console.log($scope.customer); 

}); 
0

因爲你的JS代碼

console.log($scope.customer); 

運行時初始化的CustomerController控制器,當時$ scope.customer有沒有價值,它返回undefined。