【问题标题】:Videogular: dynamic posters not workingVideogular:动态海报不起作用
【发布时间】:2016-04-04 20:28:50
【问题描述】:

我正在遍历视频并尝试为每个视频动态设置海报:

index.html

<div ng-controller="VideoController as controller" class="carousel-cell carousel__slide" data-ng-repeat="tpl in templates track by $index">
    <div class="videogular-container">
        <videogular vg-theme="controller.config.theme.url">
            <vg-media vg-src="controller.config.sources"
                          vg-tracks="controller.config.tracks"
                          vg-native-controls="true">
            </vg-media>
          <vg-poster
            vg-url="'{{ tpl.image }}'">
          </vg-poster>
          <vg-overlay-play></vg-overlay-play>
        </videogular>
    </div>
</div>

video.controller.js

'use strict';

angular.module('video', [])
.controller('VideoController',
["$sce", function($sce) {

  this.config = {
            preload: "none",
            sources: [
                {src: $sce.trustAsResourceUrl("http://static.videogular.com/assets/videos/videogular.mp4"), type: "video/mp4"},
                {src: $sce.trustAsResourceUrl("http://static.videogular.com/assets/videos/videogular.webm"), type: "video/webm"},
                {src: $sce.trustAsResourceUrl("http://static.videogular.com/assets/videos/videogular.ogg"), type: "video/ogg"}
            ],
            theme: {
                url: "http://www.videogular.com/styles/themes/default/latest/videogular.css"
            }
        };
  ...

然而,渲染出来的 HTML 是这样的:

<vg-poster vg-url="'http://example.net/my-dynamica-image.jpg'" class="ng-isolate-scope"><img ng-src="{{ tpl.image }}" ng-class="API.currentState" src="{{ tpl.image }}" class="stop"></vg-poster>

请注意,它适用于 vg-ur 但不适用于 ng-src。

有什么线索吗?

【问题讨论】:

    标签: javascript angularjs videogular


    【解决方案1】:

    指令vg-url 需要一个角度表达式,因此您可以保留为tpl.image

    <div ng-controller="VideoController as controller" class="carousel-cell carousel__slide" data-ng-repeat="tpl in templates track by $index">
        <div class="videogular-container">
            <videogular vg-theme="controller.config.theme.url">
                <vg-media vg-src="controller.config.sources"
                              vg-tracks="controller.config.tracks"
                              vg-native-controls="true">
                </vg-media>
              <vg-poster
                vg-url="tpl.image">
              </vg-poster>
              <vg-overlay-play></vg-overlay-play>
            </videogular>
        </div>
    </div>
    

    http://videogular.com/docs/#/api/com.2fdevs.videogular.plugins.poster.directive:vgPoster

    【讨论】:

      猜你喜欢
      • 2015-10-10
      • 2015-04-11
      • 2011-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-11
      • 2016-05-18
      • 1970-01-01
      相关资源
      最近更新 更多