gpt4 book ai didi

dotvvm:自动播放视频列表(演示)

转载 作者:行者123 更新时间:2023-12-02 04:34:16 26 4
gpt4 key购买 nike

我喜欢用 dotvvm 建立一个视频演示网站。当什么都没有发生时,每次从列表中播放新视频时它都必须开始。使用 bootstrap/MediaObject 我找不到“视频准备播放”事件,因此我们可以开始下一个视频。使用 Dotvvm 解决此问题的最佳方法是什么,我不想为此回到角度。

基础

更新:此时我使用的是html5标签,是否还有dotvvm组件?示例:

    <dot:Content ContentPlaceHolderID="ContentTemplate">
<div class="page">
<video ID="video1" width="320" height="240" autoplay>
<source src="/Style/video/video1.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
<button onclick="playPause()">Play/Pause</button>
</div>
<script>
var myVideo = document.getElementById("video1");
function playPause() {
if (myVideo.paused)
myVideo.play();
else
myVideo.pause();
}
myVideo.addEventListener("ended", function () {
//get next video from viewmodel, (not hard coded)
var nextVideo = "/Style/video/video2.mp4"
myVideo.setAttribute("src", nextVideo)
//load
myVideo.load();
// switch of sound
myVideo.muted = true;
// play
myVideo.play();
}, true);
</script>

我们可以从 viewModel 获取 nextVideo 吗?我们该怎么做?

最佳答案

1) 设置javascript变量

您可以这样设置 - 例如。通过命令按钮

MyView.dothtml

...
<dot:button Click="{command: SetNextVideo()}" Text="Set next video" />
...

MyViewModel.cs

....
IDotvvmRequestContext _requestContext;
...

public void SetNextVideo()
{
//_requestContext.ResourceManager.AddStartupScript("alert('my javascript after command');");
_requestContext.ResourceManager.AddStartupScript("nextVideo = ...... ");
}

<强>2。获取 View 中 Viewmodel 属性的当前值

或者您可以在 viewmodel 和 javascript 中声明 declare string 属性,您可以通过这样的敲除调用获取当前值:

View 模型

public string MyFoo {get;set;} = "bar";

查看:

<script>
....
alert( ko.toJS(dotvvm.viewModels.root.viewModel.MyFoo) );

</script>

这取决于你的脚本你真正想做什么:)

关于dotvvm:自动播放视频列表(演示),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45238976/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com