我有一個應用程序與視頻列表,我不想一次加載所有的視頻,只是當用戶選擇一個視頻,然後選擇播放(是的,這是一個兩步過程)。將iframe插入角度應用程序
所以當用戶選擇一個視頻時,我試圖將只有該視頻的iframe播放器嵌入到所選元素中。
在我的控制,我有
$scope.selectedVideo = function(index){
if($scope.activeVideo===index)return; // preventing bubbling from closeSelected (I hope)
if($scope.activeVideo !== null){
$scope.closeSelected();
}
var video = $scope.videos[index];
video.embed = '<span><iframe src="https://www.youtube.com/embed'+video.id+'"></iframe> does something show?</span>';
video.active = true;
$scope.activeVideo=index;
}
和我的html,我有
<div ng-bind-html="video.embed"></div>
我試過的所有ng-bind-html-unsafe
方式(我認爲這是不建議使用),但沒有什麼是實際上將iframe放入頁面中。
我正在使用角度版本1.2.15,並且我已將ngSanitize包含在控制器中。
這樣做的竅門,但我很好奇,爲什麼你,我正在以正確的方式去做。如果我將50個視頻加載到頁面上,我不希望每個視頻嵌入到頁面中,因爲即使iframe被隱藏,iframe也會下載頁面。 – pedalpete
該視圖有點像動態內容的佔位符,但擁有自己的生活 - 視圖可以是iframe,其屬性(如src)可以通過控制器和範圍進行綁定。你可以使用ngView來完成SPA(單頁面應用程序),就像服務器端的主頁面或剃刀布局頁面一樣(microsoft termonology,抱歉) –