我的Angular
应用程序中有一个页面,它使用stepper
. 例如,当用户处于第 3 步时,他要返回到上一步(第 2 步)要做的第一个合乎逻辑的事情是单击back button
。但显然,他会被重定向到上一页。
因此,我可以在stepper
后退单击时将其设置为上一页,而不是将用户重定向到最后一页,并且当用户处于步骤 1时将他重定向到最后一页。
我试图@HostListener
通过强制转换this.stepper.previous();
(将步进器设置为上一个的函数)来使用,但是当操作是时,catched
该函数不会执行,并且页面无论如何都会重定向回来。
那么如何防止页面在单击后退按钮时重定向?
这是我尝试过的:
@HostListener( 'window: popstate', ['$event'])
onPopState(event: Event): void {
event.preventDefault();
console.log("BACK PRESSED")
this.stepper.previous();
}
Run Code Online (Sandbox Code Playgroud) 在我的 Angular 应用程序中显示导航栏的最佳方法是什么?
现在,我已经nav-bar
在顶部添加了我的组件app.component.html
,并通过订阅我正在设置的服务来确定导航栏中的某些项目是否应该可见。
我的app.component.html
看起来像这样:
<app-top-bar></app-top-bar> // navbar
<div class="container px-0 px-sm-3">
<router-outlet></router-outlet>
</div>
Run Code Online (Sandbox Code Playgroud)
但此时我怀疑是否最好包含app-top-bar
在每个组件中,并且如果项目应该或不应该在其中可见,则将其作为输入传递给它。
在我的 WebView2 中,我使用 js 文件加载本地 html,一切正常,但如何从 WebView 中的 WinForm 运行脚本?
到目前为止,我在 VB 中使用 webBrowser,我是这样做的:
WebBrowser1.Document.InvokeScript("addProducts", New String() {"{ ""desc"": ""test"", ""qta"": 1, ""prezzo"": 2}"})
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试类似的事情:
private async void prodotto_Click(object sender, EventArgs e)
{
await webView21.ExecuteScriptAsync("addProducts(\"{ \"desc\": \"test\", \"qta\": 1, \"prezzo\": 2})\"");
}
Run Code Online (Sandbox Code Playgroud)
我什至尝试过:
private void prodotto_Click(object sender, EventArgs e)
{
AddProduct();
}
async void AddProduct()
{
await webView21.CoreWebView2.ExecuteScriptAsync("addProducts(\"{ \"desc\": \"test\", \"qta\": 1, \"prezzo\": 2})\"");
}
Run Code Online (Sandbox Code Playgroud)
但剧本还没达到……
我的 WinForm .NET Framework 4.7.2 中有一个 WebView2 控件,如何在其中加载我的本地 html 文件?
我试图用 file:// 扩展名设置 .Source 但什么都没有......
这是我尝试过的:
private void Form1_Load(object sender, EventArgs e)
{
webView.Source = new Uri("file://C:/Users/xxx/Desktop/VisualSelf/self.html");
}
Run Code Online (Sandbox Code Playgroud) 我有一个网页,应该在 Windows 中作为本机应用程序运行,因此我必须禁用所有浏览器功能,例如文本选择等。
我设法在普通设备中禁用文本选择,如下所示:
$("body, html").mousedown(function (event) {
event.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)
但是,当我在触摸屏设备中运行该网站并且长按文本时,它仍然会选择它。
即使在触摸设备上,如何禁用文本选择?