2012-07-02 10 views
8

मैं अपने html में निम्न पंक्ति है:AngularJS - एनजी-बाँध एचटीएम्एल असुरक्षित और एनजी मॉडल समस्याएं

<div ng-bind-html-unsafe="departmentConfig" class="control-group"></div>

और मैं का प्रयोग कर एक $resource एचटीएमएल को पुनः प्राप्त करने के लिए, करने के लिए HTML आवंटित $scope.departmentConfig, और उसके बाद दृश्य पूरी तरह अद्यतन किया गया है। $scope.departmentConfig को असाइन किया गया HTML में ng-model विशेषताओं के साथ फ़ॉर्म तत्व शामिल हैं, लेकिन जब मैं इन इनपुट तत्वों में मानों को बदलता हूं, तो वे $scope मॉडल को अद्यतन नहीं करते हैं।

यह मैं क्या कोशिश की है, अन्य इंटरनेट पदों की एक बहुत कुछ के आधार पर है, और यह काम नहीं कर रहा:

$resource('resources/sources/departments/:mappedName', { 
     mappedName:departmentKey 
    }).get(function(departmentConfig) { 
     // This will call another function that will build a chunk of HTML 
     $scope.departmentConfig = $scope.buildDepartmentConfigHtml(departmentConfig); 
     // This is my feeble attempt to access the element, and bootstrap it to include the items in the $scope model. 
     var $departmentConfigContainer = $('#departmentConfig'); 
     angular.bootstrap($departmentConfigContainer, ['sourcemanager']); 

मैं भी, जहां इस काम कर रहा है कुछ jsFiddle उदाहरण देखा है, लेकिन मेरा नहीं है। क्या मैं जल्द ही बूटस्ट्रैप को बुला रहा हूं? मैं भी इस तरह $scope.departmentConfig पर एक $watch डालने की कोशिश की:

$scope.$watch('departmentConfig', function() { 
    var $departmentConfigContainer = $('#departmentConfig'); 
    angular.bootstrap($departmentConfigContainer); 
}); 

लेकिन यह या तो काम नहीं किया। मैं शर्त लगाता हूं कि इसमें एक आसान स्पष्टीकरण है, मुझे लगता है कि ng-model के साथ इनपुट तत्व नहीं मिल रहे हैं जो मॉडल के लिए बाध्य होने के लिए पेज संकलन के बाद लोड किए गए हैं। किसी भी मदद की सराहना की जाती है, यह कार्यक्षमता का आखिरी टुकड़ा है जिसे मुझे अपने पृष्ठ पर काम करने की आवश्यकता है। अगर आपको मेरी कॉन्फ़िगरेशन के बारे में अधिक जानकारी चाहिए तो मुझे बताएं।

तो, बस डालें, मैं इसे लोड करने के बाद डीओएम के एक वर्ग को फिर से संकलित करने के लिए कैसे मजबूर कर सकता हूं?

अद्यतन

यहाँ एक jsfiddle रूपरेखा मैं करना चाहते हैं क्या है: http://jsfiddle.net/j_snyder/ctyfg/। आप देखेंगे कि संपत्ति दो और तीन मॉडल को अपडेट नहीं करती हैं, और मैं बाहरी div पर बूटस्ट्रैप को कॉल कर रहा हूं, उम्मीद कर रहा हूं कि मॉडल बाध्यकारी में शामिल होगा। यह पहली बार है जब मैंने jsfiddle पर पोस्ट किया है, अगर आप उदाहरण नहीं देख पा रहे हैं तो कृपया मुझे बताएं।

उत्तर

13

एनजी-बाइंड-एचटीएमएल नियमित एचटीएमएल के लिए बनाया गया है, नए कोणीय तत्वों को संकलित नहीं करता है।

आप $compile service का उपयोग करेंगे।

यहां बताया गया है कि आप काम करने के लिए अपने वर्तमान उदाहरण को कैसे संपादित करेंगे: http://jsfiddle.net/andytjoslin/ctyfg/21/। लेकिन इस तरह से बुरा होने लगता है, क्योंकि आपको अपने नियंत्रक में डोम हेरफेर करना है। http://jsfiddle.net/andytjoslin/ctyfg/22/

+0

धन्यवाद एंडी:

तुम बस एक निर्देश है कि मूल रूप से आप क्या एनजी-बाँध-एचटीएमएल चाहते थे करने के क्या करेंगे बनाना होगा। मैंने कोणीय Google समूह पर भी पोस्ट किया, और यहां धागा है। मुझे कुछ काम मिल गया है जो वास्तव में आपके द्वारा पोस्ट की गई लाइनों के साथ ही करेगा। https://groups.google.com/forum/?fromgroups#!topic/angular/51-CNL6GEKE –