के साथ इंटरपोलेशन में सम्मिलित करना मुझे पता है कि यह लंबा है, लेकिन कृपया मेरे साथ भालू। समस्या को समझना आसान है, इसे पूरी तरह से समझाने के लिए बस कुछ लेखन लेता है।एंगुलरजेएस एकाधिक अभिव्यक्तियों को एक यूआरएल
अभी मैं यह त्रुटि
Error: [$interpolate:noconcat] Error while interpolating:
Strict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required.
See http://docs.angularjs.org/api/ng.$sce
मैं दस्तावेज में सभी पठन किया है हो रही है, लेकिन मैं अभी भी मेरी समस्या के लिए एक समाधान नहीं मिल रहा।
मैं एक निजी ऑनलाइन स्रोत पर $ http.get का उपयोग कर रहा हूं जिसमें डेटा जेएसएस फ़ाइल के रूप में समान है (इसलिए मैं डेटा को संशोधित नहीं कर सकता)। डेटा इस तरह दिखता है:
...
"items": [
{
"kind": "youtube#searchResult",
"etag": "\"N5Eg36Gl054SUNiWWc-Su3t5O-k/A7os41NAa_66TUu-1I-VxH70Rp0\"",
"id": {
"kind": "youtube#video",
"videoID": "MEoSax3BEms"
},
},
{
"kind": "youtube#searchResult",
"etag": "\"N5Eg36Gl054SUNiWWc-Su3t5O-k/VsH9AmnQecyYBLJrl1g3dhewrQo\"",
"id": {
"kind": "youtube#video",
"videoID": "oUBqFlRjVXU"
},
},
...
मैं अपने HTML iframe कि यूट्यूब वीडियो एम्बेड करता है में प्रत्येक आइटम के VIDEOID अंतर्वेशन कोशिश कर रहा हूँ। मेरी controller.js फ़ाइल में, मैं के रूप में ऐसी
$http.get('privatesource').success(function(data) {
$scope.videoList = data.items;
});
तो अब चर "$ scope.videoList" data.items को मैप किया है, जो एक बहुत है के बाद $ http.get वादा वस्तु सेट कर रहा हूं वीडियो तत्वों के। मेरी एचटीएमएल फाइल में, मैं
<ul class="videos">
<li ng-repeat="video in videoList">
<span>{{video.id.videoID}}</span>
</li>
</ul>
का उपयोग करके प्रत्येक वीडियो के वीडियो आईडी को पुनर्प्राप्त कर सकता है और यह सभी वीडियो आईडी की सूची देता है। लेकिन अगर मैं इन मानों को एक यूआरएल में जोड़ना चाहता हूं, जैसे https://youtube.com/embed/, यह काम नहीं करता है।
<div ng-repeat="video in videoList">
<iframe id="ytplayer" type="text/html" width="640" height="360"
ng-src="https://www.youtube.com/embed/{{video.id.videoId}}"
frameborder="0" allowfullscreen></iframe>
</div>
वहाँ एक रास्ता है कि मैं प्राप्त कर सकते हैं VIDEOID यूट्यूब यूआरएल में अंतर्वेशित जा करने के लिए है? मैं इस प्रकार $ sceDelegateProvider का उपयोग करके श्वेतसूचीकरण की कोशिश की है लेकिन यह अभी भी काम नहीं करता है
$sceDelegateProvider.resourceUrlWhitelist([
'self',
'https://www.youtube.com/**']);
किसी भी मदद की सराहना की है। धन्यवाद!
+1 और आपके उत्तर के लिए धन्यवाद क्योंकि अन्य सभी उत्तरों ने एक टेम्पलेट आइटम के रूप में पॉप्युलेट करने के बजाए एक यूआरएल विश्वसनीय संसाधन के रूप में एक यूआरएल को हार्ड कोडिंग पर भरोसा किया। – DrewT
धन्यवाद। आप यूआरएल को कैसे श्वेतसूची में डालते हैं? – molerat
@molerat कॉन्फ़िगरेशन ब्लॉक में '$ sceDelegateProvider' इंजेक्शन और उपयोग करके। उदाहरण के लिए: '$ sceDelegateProvider.resourceUrlWitelist (['self', 'https://www.youtube.com/**']);' – tasseKATT