2014-07-23 15 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> 

यह मेरी जावास्क्रिप्ट फ़ाइल है:

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

    console.log($scope.customer); 

}); 

लेकिन लॉग मुझे अपरिभाषित देता है। इसमें गलत क्या है? http://plnkr.co/edit/MU2i46o03bs22Jwh6QIe

+1

में '$ scope.customer', कहीं भी initilized नहीं है तो यह अपरिभाषित किया जाना चाहिए है। उन इनपुट में कुछ टाइप करने के बाद डेटा होना शुरू हो जाएगा। – runTarm

उत्तर

5

जैसा कि अन्य ने कहा है, आपको ग्राहक ऑब्जेक्ट को प्रारंभ करना होगा।

चूंकि नियंत्रक से ग्राहक सेट का कोई मूल्य नहीं है, यह दृश्य में अपरिभाषित के रूप में दिखाई दे रहा है। जब आप इनपुट बॉक्स में मान दर्ज करते हैं, यह अब अपरिभाषित होगा, लेकिन प्रवेश के बाद से ही किया जाता है एक बार शुरू में, कोई प्रभाव नहीं

Plunker Demo

यहाँ इनपुट बॉक्स में मान टाइप किया है और जो मैं बदल गया है है script.js

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

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

console.log($scope.customer); 

}); 
0

क्योंकि आपके जे एस कोड

console.log($scope.customer); 

रन जब आप CustomerController नियंत्रक init, उस समय $ scope.customer पर कोई मूल्य नहीं है और यह अपरिभाषित लौट:

यह plunkr है।

संबंधित मुद्दे