【发布时间】:2015-06-17 14:47:31
【问题描述】:
我正在尝试在我的 AngularJS 项目中使用视频播放器(jwplayer)。这篇文章由两部分组成:第 1 部分是背景,第 2 部分是我的问题。谢谢。
第 1 部分:解决“加载播放器时出错:未找到可播放源”问题。
一开始视频没有显示,只是页面 ui 上的一个黑色矩形,以及一个相当误导性的控制台消息,上面写着“找不到合适的播放器并启用后备”。
几小时后,我碰巧将 jwplayer 的尺寸配置从“height:450, width:800”更改为“height:'100%', width:'100%'”。这次 jwplayer 在页面 ui 上显示一条消息:“Error loading player: No playable sources found”。
这给了我方向。我的 jwplayer 用法如下所示:
<!-- this is my index.html -->
<div id="jw_container">Loading the player ...</div>
<script>
var player = jwplayer("jw_container").setup({
file:"{{model.my_video.video_url}}",
......
将该文件行更改为硬编码的绝对视频 url 将起作用,这表明这是真正的问题。所以最终我得到了:
file: angular.element(document.getElementById('ng-wrapper')).scope().model.my_video.video_url,
然后问题就解决了,现在。 (但在我看来,仍然很丑陋,不直观。)
================================== 分隔符============== =====
第 2 部分:我真正的问题
来自传统模板引擎的世界,人们可能倾向于在任何他想要的地方使用 {{...}}。但在 AngularJS 中,情况就不同了。
除了上面的例子,这是我之前的另一个例子:
<img title="{{my_title}}" src='logo.png'> <!-- This works -->
<img src="{{my_image}}"> <!-- This doesn't. Use ng-src instead. -->
所以一般来说,什么时候什么时候不要在 AngularJS 视图文件中使用 {{...}}?
【问题讨论】: