私はJSONからビデオ名を読み込み、<video>
タグのソースにそれを印刷しようとしています。しかし、ページをロードすると、ビデオは空白のままで、コンソールにはhttp://www.url.com/gallery/video/undefinedと表示されますが、「検査」すれば正しいURLが印刷されます...なぜですか?AngularJSは私にビデオURLを与えません
<html xmlns="http://www.w3.org/1999/xhtml" ng-app="mediaReproductionApp">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Principale</title>
<script src="js/angular.js"></script>
<script src="js/angular_read_media.js"></script>
</head>
<body ng-controller="MediaReproductionCtrl">
<div class="media_player">
<video preload="metadata" ng-hide="reproductionCodeIsEmpty(item.items[0].media) == true" controls>
<source src="{{playVideo(item.items[0].media)}}" type="video/webm" />
</video>
</div>
</body>
</html>
そして、これはスクリプトです:
これは、HTMLコードで
var model = {};
var mediaReproductionApp = angular.module("mediaReproductionApp",[]);
mediaReproductionApp.run(function ($http) {
$http.get("movimenti_per_totem.json").success(function (data) {
model.items = data;
});
});
mediaReproductionApp.controller("MediaReproductionCtrl", function($scope) {
$scope.item = model;
$scope.playVideo = function(media) {
return "../gallery/video/" + media;
}
$scope.reproductionCodeIsEmpty = function(media) {
return media == "";
}
});
コンパイルされていないURLの不正なリクエストを防ぐには、必ず「ng-src」を使用してください。ブラウザが 'src'を実行するときに角をコンパイルするのを知らない – charlietfl
' $ http'が完了するまで 'media'はあなたの関数で定義されていません – charlietfl
@charlietflそう、私は何をすべきですか? – ProtoTyPus