2013-04-01 17 views
5

के भीतर दायरा प्राप्त करना मुझे टैब (कोणीय यूआई) के संदर्भ में कोणीय स्कॉप्स के साथ कुछ परेशानी हो रही है।कोणीय यूआई टैब

यहां मेरा jsfiddle example है (टैब के बाहर एक एकल सबमिट बटन के साथ कई टैब पर फ़ील्ड दिखाते हुए उदाहरण नीचे slimmed)।

<form...> 
    <tab> 
    <pane> 
     <input...> 
    </pane> 
    </tab> 
</form> 

jsfiddle example को देखते हुए, टैब्स के बिना अगर मैं एक बहुत ही बुनियादी रूप मैं देखना होगा $ scope.user एक ऑब्जेक्ट होना सबमिट करें:

यहाँ बुनियादी एचटीएमएल लेआउट है। चूंकि फ़ील्ड पैन (टैब) के भीतर हैं इसलिए दायरा गलत है। मैं createUser में सबमिट किए गए उपयोगकर्ता ऑब्जेक्ट तक पहुंच कैसे प्राप्त कर सकता हूं?

+0

http://stackoverflow.com/questions/22772041/angualrjs-and-angular-ui-bootstrap-tabs-scope –

उत्तर

7

समस्या यह है कि user मॉडल को एक अलग दायरे में गहरा दफनाया गया है। अपेक्षित कोड को प्राप्त करने के लिए, आपको $scope.$$childHead.panes[0].$$nextSibling.user.first_name$scope.user के मान से बाहर करने की आवश्यकता होगी। यह स्पष्ट रूप से एक समाधान नहीं है।

एक सरल समाधान नियंत्रक दायरे में user ऑब्जेक्ट को खाली करना है। आपके एचटीएमएल में ng-model निर्देश तब इस संपत्ति से जुड़ जाएंगे। आपका नियंत्रक इस तरह दिखना चाहिए:

function MyCtrl($scope) { 
    $scope.user = {}; 
    $scope.createUser = function() { 
    alert($scope.user); 
    }; 
} 
+0

धन्यवाद! सही समझ में आता है। –

+0

+1। ध्यान दें कि ओपी के बेड़े में, 'उपयोगकर्ता' ऑब्जेक्ट निर्देशों के पारदर्शी क्षेत्रों (निर्देशों को अलग-अलग स्कॉप्स पर नहीं) पर बनाया जाता है। –

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