1. vue父组件获取子组件中的dom元素(The element or ID supplied is not valid. (videojs))
这是在使用video.js时遇到的问题,报错说元素或id不是支持的格式。我最开始的思路是用父组件获取子组件中的dom,按理说这在vue里应该很简单,只需要this. r e f s . 子组件 r e f . refs.子组件ref. refs.子组件ref.refs.dom元素ref。
但是我的会报如题中的错误,打印子组件,看到子组件里的$refs属性是空的,应该是组件未挂载,但是当时一直在找哪里错了也没找到,就很浪费时间。但是了解了一下videojs的使用方法
定义一个变量,并赋值给它作为播放器
this.videoPlayer = this.$video(this.$refs.xxx / id, {
//确定播放器是否具有用户可以与之交互的控件。没有控件,启动视频播放的唯一方法是使用autoplay属性或通过Player API。
controls: true,
//自动播放属性,muted:静音播放
autoplay: false,
//建议浏览器是否应在<video>加载元素后立即开始下载视频数据。
preload: "auto",
//设置视频播放器的显示宽度(以像素为单位)
width: "100%",
//设置视频播放器的显示高度(以像素为单位)
height: "100%",
controlBar:{
playToggle:true
}
});
关于播放器的一些控制命令,建议销毁前先重置一下,不然网慢的时候可能会看到上一个的画面。
this.videoPlayer.reset(); //重置 video
this.videoPlayer.load();//加载
this.videoPlayer.dispose();//销毁
2. Computed property “isShow” was assigned to but it has no setter.
这个出现的场景是我将isShow放在了computed里作为一个计算属性,但是我是需要改变它的值的。当时我只写了 return this.isVideoPlayerShow, 提示我没有改变这个值,所以需要用完整形式设置个set属性,用于传递父组件,让父组件改变isVideoPlayerShow的值,就ok了
isShow:{
get(){
return this.isVideoPlayerShow
},
set(){
this.$emit('closeVideoPlayer')
}
}
3. 多个commit合成一个的方法
所有的基础都是要git log 查看版本号
commit 3 asdda
commit 2 asaaa
commit 1 sa6faf
写个示意就好了。如果,commit1 是其他人提交的代码,已合并。而commit 2 和3是我们要提交的 但是不小心提了两个commit
-
简单方法:git reset --soft sa6faf。这样,工作台改动的代码不会变,但是版本号和暂存区重置回固定版本(软重置),然后重新走一遍提交流程就好了。
-
操作比较多一点的方法:
- git rebase -i sa6faf
- 这时候会进入编辑页面,根据提示最上面的commit不动,其他的把前面的pick 改成s,并入上一个提交,就好了。这时候会让你重新编辑提交信息,编辑好就ok了。