我不是全部
那熟悉ngSrc指令而不是在圖像上使用它,但它可能需要在源代碼的某個地方使用img標籤。
試試這個:
<div ng-repeat="audio in event.audios">
<audio ng-attr-src="/data/media/{{audio}}" controls></audio>
</div>
的NG-attr-指令可用於不具有在角特定角色的任何屬性。你可以在
this page上閱讀更多關於它的信息。
更新,我錯了。
我創建了一個jsfiddle,發現發生的實際錯誤。
您從sce服務中收到錯誤。見SO問題here。
解決方法是使用$sce.trustAsResourceUrl()
。
實施例:
angular.module('AudioTest', [])
.controller('AudioTestCtrl', function($scope, $sce) {
$scope.event = { 'audios': [
$sce.trustAsResourceUrl('/data/media/test1'),
$sce.trustAsResourceUrl('/data/media/test2')
]};
});
Here's the fiddle。
更新#2
如果你不想設置URL硬編碼或通過你從服務器得到響應後循環,你可以使用自定義過濾器來完成你在做什麼尋找。此方法不使用插值,這是引發錯誤的地方。
JS:
angular.module('AudioTest', [])
.filter('trustedAudioUrl', function($sce) {
return function(path, audioFile) {
return $sce.trustAsResourceUrl(path + audioFile);
};
})
.controller('AudioTestCtrl', function($scope) {
$scope.event = { 'audios': ['test1', 'test2']};
});
HTML:
<div ng-app="AudioTest">
<div ng-controller="AudioTestCtrl">
<div ng-repeat="audio in event.audios">
<audio ng-src="/data/media/ | trustedAudioUrl:audio)" controls></audio>
</div>
</div>
</div>
而且new fiddle。
認爲這是一個不同的情況下,你貼他使用的變量的聯繫使得罰款,但沒有視頻播放呢。在我的情況下,該變量不被解析。我也在ng-repeat中使用它。 – Hols