【问题标题】:Detect When HTML Video Ends in Angular 2检测 HTML 视频何时在 Angular 2 中结束
【发布时间】:2016-11-05 20:04:24
【问题描述】:

我正在尝试检测 HTML video 何时以 Ionic2(Angular2 和 Typescript)结尾。我的代码 sn-ps 如下:

模板:

<video poster="" id="v" playsinline autoplay webkit-playsinline onended="vidEnded()">
    <source src="assets/vid.mp4" type="video/mp4">
</video>

组件:

vidEnded() {
    console.log("video ended");
    this.leavePage();
}

我做错了什么?提前致谢。

【问题讨论】:

    标签: angular typescript angular2-template


    【解决方案1】:

    在 Angular 2 中,您需要在前缀 on 和事件名称之间添加 -,或者只需删除前缀 on 并用 () 包围事件名称来绑定事件。因此,在您的情况下,正确的语法将是这两者之一,您可以使用任何您喜欢的语法,因为两者都做同样的事情:

    • on-ended="vidEnded()"
    • (ended)="vidEnded()"

    查看Angular 2 binding syntax

    【讨论】:

    • 完美,(ended)="vidEnded()" 为我工作!谢谢!
    • 我正在使用这段代码并且事件没有被触发,任何想法为什么?
    • @Dimitri 在 Angular 5 上也一样,你找到解决方案了吗?
    • @godblessstrawberry 如果您在视频中包含循环,则(已结束)将不会触发,因为视频永远不会结束
    【解决方案2】:

    您可以通过这种方式检测 Html 视频何时以 Angular 结束:

    模板:

    <video (ended)="videoEnd()">
      <source src="assets/vid.mp4" type="video/mp4">
    </video>
    

    组件:

    videoEnd() {}
    

    【讨论】:

      猜你喜欢
      • 2011-02-14
      • 2013-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多