के माध्यम से एसवीजी प्रस्तुत करना हाल के एक प्रश्न (Reference Angular binding from javascript) में मैंने पूछा कि एक विशिष्ट div को जेनरेट किए गए एसवीजी को कैसे बांधें। मुझे दो अच्छे जवाब मिले जो मैं तब से टंकण कर रहा हूं।एंगुलर एनजी-बाइंड-एचटीएमएल
मैं एक एसवीजी छवि प्रदर्शित करने की कोशिश कर रहा हूं जो विशिष्ट गुणों के आधार पर बनाया गया है।
<div ng-bind-html="buildSvg(60,140,item)">svg should go here</div>
:
.controller('ctlr',['$scope','$sce', function($scope,$sce) {
$scope.buildSvg(width, height, obj){
var img = ...call a lot of svg-functions
return $sce.trustAsHtml(img);
}
मेरे इरादे के माध्यम से वेब पेज पर इस शामिल करने के लिए है:
मूल रूप से मैं एक छोटे कोणीय स्क्रिप्ट जो svg कोड पैदा करने के लिए कई कार्य करने की भी शामिल है, उदाहरण के लिए है हालांकि, मुझे कम से कम जावास्क्रिप्ट जेनरेट एसवीजी टैग के साथ काम करने में मुश्किल हो रही है, यह काम करता है अगर मैं आईएमजी कोड को अन्य $ स्कोप वेरिएबल में पेस्ट करता हूं (और बहुत से भागने को जोड़ता हूं) और फिर इसे एनजी- बाँध-एचटीएमएल।
के रूप में कोड Plunker यहां पर उपलब्ध है: Example
मैं निम्नलिखित त्रुटि मिलती है:
Error: [$sce:itype] http://errors.angularjs.org/1.4.0/$sce/itype?p0=html
at Error (native)
at http://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js:6:416
at $get.trustAs (http://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js:140:269)
at Object.$get.d.(anonymous function) [as trustAsHtml] (http://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js:142:444)
at m.$scope.buildSvg (file:///C:/Dropbox/workspace/famview/public/javascripts/svgController.js:37:16)
at fn (eval at <anonymous> (http://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js:210:400), <anonymous>:2:301)
at Object.get (http://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js:115:108)
at m.$get.m.$digest (http://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js:131:221)
at m.$get.m.$apply (http://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js:134:361)
at http://ajax.googleapis.com/ajax/libs/angularjs/1.4.0/angular.min.js:19:362
मैं किसी भी तरह $ SCE सूचित करने के लिए एसवीजी टैग में स्ट्रिंग शाब्दिक से बचने के लिए की जरूरत है?
आशा करता है कि मुझे -1 प्राप्त नहीं होगा। मैं बस मदद करने की कोशिश कर रहा हूं! ... मैं 1 के लायक नहीं हूं ... मैंने एक नया जवाब दिया है क्योंकि मैं आखिरी बार संपादित नहीं कर सका .. किसी ने इसे संपादित करने से पहले इसे हटा दिया – ackuser