Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 使用ng repeat的多个JWPlayer_Angularjs_Jwplayer_Ng Repeat - Fatal编程技术网

Angularjs 使用ng repeat的多个JWPlayer

Angularjs 使用ng repeat的多个JWPlayer,angularjs,jwplayer,ng-repeat,Angularjs,Jwplayer,Ng Repeat,我可能用了错误的方法,但我正在尝试创建一个垂直滚动的网页,其中包含多个视频。每个视频的数据都来自我后端的一个端点,我想使用ng repeat为每个视频生成一个jwplayer 我现在得到的是: <div id="repeatingvids" ng-repeat="video in retrieved_videos"> <div id="jwplayer{{$index}}"> </div> <script type="text/j

我可能用了错误的方法,但我正在尝试创建一个垂直滚动的网页,其中包含多个视频。每个视频的数据都来自我后端的一个端点,我想使用ng repeat为每个视频生成一个jwplayer

我现在得到的是:

<div id="repeatingvids" ng-repeat="video in retrieved_videos">
    <div id="jwplayer{{$index}}">
    </div>
    <script type="text/javascript">
      jwplayer("jwplayer{{$index}}").setup({
        file: {{retrieved_videos[{{$index}}].video_url}},
        type: 'mp4',
        width: '100%',
        aspectratio: '16:9',
        controls: 'true',
        }
      });
    </script>
</div>
现在,在有人说什么之前,我完全知道脚本标记中的代码是垃圾,那些数据绑定标记是完全无效的,我只是把它们放在那里,让大家知道我要完成什么

我最初尝试在http成功回调中设置所有jwplayer,循环遍历结果,但由于$http.get的异步性质,ng repeat在加载时无法循环遍历,在回调后加载页面导致jwplayer('element')。设置未定义,因为元素当然不存在


所以我陷入困境,任何帮助都将不胜感激

您必须在一页中包含angular和jwplayer。 如果您有jwplayer的密钥,只需按照通常的方式根据他们的文档将其包括在内

<script type="text/javascript" src="/scripts/jwplayer.js" ></script>
<script type="text/javascript">jwplayer.key="YOUR_JW_PLAYER_KEY";</script>
将元素添加到页面中,并将“setup”属性设置为在控制器中设置的变量。通过设置player id变量为元素提供一个id也是一个好主意

<div ng-controller='HomeCtrl'>  
    <jwplayer setup="options"></jwplayer>
</div>


您是否有一个示例链接,指向运行此功能的位置?请参阅angular jwplayer,这可能会让您更进一步:也就是说,我自己也有问题。。。
angular.module('myApp').controller('HomeCtrl', ['$scope', function($scope) {

    $scope.options = {
        file: "pathToMyVideo/myvideo.mp4",
        image: "pathToMyImage/image.jpg", // optionnal
        height: 360,
        width: 640
    };

}]);
<div ng-controller='HomeCtrl'>  
    <jwplayer setup="options"></jwplayer>
</div>