- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我开始使用 Blazor。我的目的是一个接一个地播放随机视频。因此我想使用 Blazor 事件监听器。但是 onended 事件没有触发(onclick 一切正常)。
视频元素:
<figure id="video-player">
<video autoplay="autoplay" @onended="NewVideo">
@videoUrl
</video>
</figure>
代码块:
private MarkupString videoUrl;
protected override void OnInitialized()
{
NewVideo();
}
private void NewVideo()
{
videoUrl = new MarkupString($"<source src=\"videos/{tv.GetRandomVideoFileName()}\" type=\"video/mp4\">");
}
OnInitialized 按预期工作,如果我将 onended 更改为 onclick,一切也正常。
最佳答案
简短的故事是这不受支持,并且没有发布 v5 版本。请参阅此处的问题:
https://github.com/dotnet/aspnetcore/issues/24323
更长的故事是你必须启动一些 JS 互操作。引用在这里:
https://docs.microsoft.com/en-us/aspnet/core/blazor/call-dotnet-from-javascript?view=aspnetcore-5.0#component-instance-method-call
在 JS 方面,你需要这样的东西:
var player = document.getElementById('player');
player.onended = (e) => {
DotNet.invokeMethodAsync('{assembly_name_here}', 'SongEnded');
};
程序集名称可能是项目的名称,例如
MyBlazorApp
.然后在你的组件中,你需要一个静态 Action 来连接它:
protected override void OnInitialized()
{
action = UpdateMessage;
}
private static Action action;
private void UpdateMessage()
{
// DO STUFF HERE
}
[JSInvokable]
public static void SongEnded()
{
action.Invoke();
}
这确实有点笨拙,但本质上是将 JS 事件映射到组件上的静态方法。您可能会想,“好吧,如果我有多个组件实例怎么办?”在这种情况下,您必须在将上下文传递给静态方法并找到正确的实例方面有点创意。再次检查上面的引用资料,它有很多例子。
关于c# - Blazor onended 不开火,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63093997/
我正在为正在开发的应用程序使用Firebase Firestore。基本上,我有一个 Collection('Chat'),其中可能包含一千个文档。我需要一种方法来实现 Firebase分页,以限制从
我尝试用selenium 制作一个网络爬虫。我的程序引发 StaleElementReferenceException。我认为这是因为我递归地抓取页面,并且当页面没有更多链接时,该函数导航到下一页,而
我是 Agngular Firebase 的新手,我正在尝试编写一个 ToDoList 示例,任务将在 上,并且根据它的“状态”,我想更改颜色。 Controller .js var myApp =
我正在尝试使用新的@angular/fire 5.1.0使用 AngularFireStorage 查看上传到 firebase 的图像。我曾经能够在 angularfire2 中使用 task.do
我正在使用 OpenGL 开发 3d 游戏,并希望将其带入幻想的方向。具体来说,我正在考虑拥有具有火、水、冰和闪电效果的魔法。我的问题是我不知道如何创建这些效果。有没有关于如何学习这样的东西的资源?
好吧,我有一个 Angularfire 应用程序,可以将文本条目发送到 Firebase,但我在编写从 Firebase 删除它们的函数时遇到了麻烦。 这是我的 HTML Remove All
我正在尝试在 Angular 4 中设置一个新站点。我想使用 Firebase 作为数据库后端。 我正在使用此处的安装指南:https://github.com/angular/angularfire
我有以下设置: var x = $firebaseArray(ref); x.$loaded().then(function () { self.y = //I change y based
我正在尝试将我的 Firebase 数据记录到控制台。但我不断收到错误消息:undefined is not a function。完整错误如下: TypeError: undefined is no
我有一个简单的标签,我想在通过 显示数据之前对其进行操作。例如,我需要将一些字段变成链接,并解析一些日期。 因此,我需要在数据准备好后获取数据,循环遍历每个项目,并更改一些值。 为此,我有一个数据观
我正在尝试在将一些数据附加到模板之前修改一些数据。 假设我有以下内容: @Component({ selector: 'app-contact', templateUrl: './contac
我正在使用 Ionic 2 和 angularfire 2 作为后端创建一个简单的示例身份验证应用程序,当我尝试创建新用户时,它说: EXCEPTION: Error: Uncaught (in pr
我需要用“data-date”名称绑定(bind)一个 html 输入属性。使用“-”绑定(bind)变量时出现错误。它使用“基本”变量名工作正常 我该如何解决? 有效代码(绑定(bind)测试属性)
我正在尝试在 firebase 中创建/更新购物车。我正在使用具有将 localStorage ID 添加到 firebase 的功能的服务,如果产品已经存在,它会添加购物车中的数量,否则它会创建新的
我正在尝试在 FlutterFire docs 之后从我的 Flutter 应用程序调用一个非常简单的云函数,但我收到了一个非常不可读的错误。无论我是使用模拟器,还是尝试调用使用 Firebase 完
我是一名优秀的程序员,十分优秀!