我使用vue-youtube-embed
库在Vue.js
组件内显示Youtube播放器。
首次加载组件时,播放器效果很好,但之后无法播放视频。我认为这是组件稍后被销毁并再次安装的时候。
在我的网站中,我使用router-view
。当导航到播放器组件时第一次它工作得很好,但如果我回到主页然后再转发到播放器组件,我会收到此错误:
Cannot read property 'src' of null
完整堆栈跟踪:
www-widgetapi.js:121 Uncaught TypeError: Cannot read property 'src' of
null at W.g.C
(https://s.ytimg.com/yts/jsbin/www-widgetapi-vflQKB5wA/www-widgetapi.js:121:84)
at V
(https://s.ytimg.com/yts/jsbin/www-widgetapi-vflQKB5wA/www-widgetapi.js:113:99)
at W.(anonymous function).getCurrentTime.Mb.(anonymous function) [as
loadVideoById]
(https://s.ytimg.com/yts/jsbin/www-widgetapi-vflQKB5wA/www-widgetapi.js:130:11)
at VueComponent.play (eval at (http://localhost:8080/app.js:1037:1),
:136:31) at VueComponent.boundFn [as play] (eval at
(http://localhost:8080/app.js:729:1), :165:14) at Vue$3.eval (eval at
(http://localhost:8080/app.js:1037:1), :73:18) at Vue$3.Vue.$emit
(eval at (http://localhost:8080/app.js:729:1), :2207:16) at
VueComponent.playSong (eval at (http://localhost:8080/app.js:1058:1),
:123:73) at boundFn (eval at (http://localhost:8080/app.js:729:1),
:165:14) at Proxy.invoker (eval at
(http://localhost:8080/app.js:729:1), :1738:18)
播放器似乎很好,我在尝试使用loadVideoById
方法播放视频时只会出现此错误。
您可以在my site上自行查看错误。 (WIP)
重新创建错误:
我没有发布任何代码,因为它只是在调用loadVideoById
时,当我调试时,似乎播放器已加载并准备就绪(不是null
)。
答案 0 :(得分:2)
似乎问题是将Youtube播放器从DOM中分离出来,一旦你删除它就开始从Player对象中得到这个错误,我找不到解决方案所以我只是一直保持其组件使用
V-显示
而不是
V-如果
答案 1 :(得分:0)
如果看起来像这样...
html
MachineGuid
js
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography
这对我有用...
x = 0 #Global
def foo():
global x
for j in range(10):
for i in range(10 - x):
#Do your own thing here
if j % 2 == 0:
x += 1
else:
break
print("Inside: ", x)
def main():
print("Before", x)
foo()
print("After", x)
main()
或更改<youtube @ready="ready" ....>
ready(event) {
this.player = event.target;
....
}