问题列表 - 第317950页

Angular V17:@if 与 *ngIf 的前景 – *ngIf 将来会被弃用吗?

在新版本的 Angular V17 中,该@if指令可以用来替代ng-container,这真是太棒了。不过,有时*ngIf更简洁,比如判断是否显示按钮时:

<button *ngIf="loaded">OK</button>
Run Code Online (Sandbox Code Playgroud)

所以我想问一下,前景如何*ngIf?*ngIfAngular 会在未来的版本中完全放弃吗?

即使上面的代码看起来不像以前那么优雅,我们是否应该*ngIf用now 替换所有实例?@if

@if(loaded){ 
    <button>OK</button>
}
Run Code Online (Sandbox Code Playgroud)

html if-statement angular angular17

8
推荐指数
1
解决办法
4926
查看次数

本地存储未在 Angular 17 中定义

最近我将角度从 16 迁移到 17 并开始显示 localStorage 未定义错误。我看到了一些从 angular.json 禁用 ssr 的解决方案

从

"server": "src/main.server.ts",
"prerender": true,
"ssr": {
  "entry": "server.ts"
}
Run Code Online (Sandbox Code Playgroud)

到

"server": "src/main.server.ts",
"prerender": false,
"ssr": false
Run Code Online (Sandbox Code Playgroud)

它有效,但我想知道还有其他方法可以在不禁用 ssr 的情况下使用本地存储。

server-side-rendering angular

8
推荐指数
1
解决办法
5349
查看次数

替换第二列和第三列的最后 4 位数字

我有一个文件如下:

2300
10     1112221234     111222123420231121PPPPD10+0000000850      ESIM
10     3334446789     333444678920231121PPPPD11+0000000950      RSIM
23
Run Code Online (Sandbox Code Playgroud)

我希望结果如下:

2300
10     1112222345     111222234520231121PPPPD10+0000000850      ESIM
10     3334447890     333444789020231121PPPPD11+0000000950      RSIM
23
Run Code Online (Sandbox Code Playgroud)

我尝试使用以下代码,并能够替换第二列中的最后 4 位数字和第三列中日期之前的最后 4 位数字。但它还删除了第三列中从第 11 位开始的多余空格以及字母/数字,并得到以下结果:

2300
10 1112222345 1112222345 ESIM
10 3334447890 3334447890 RSIM
23

awk '
BEGIN { FS=OFS=" " }
{if(length($2)>9 && length($3)>9)
   {$2 = substr($2,-10)
   $3 = substr($3,1,10) 
    for (i=2;i<=3;i++) {                                   
        str = substr($i, 1, length($i) - 4)                 
        for (j = length($i) - 3; j <= length($i); j++) {    
            str = str (substr($i, …
Run Code Online (Sandbox Code Playgroud)

linux awk replace substr

11
推荐指数
3
解决办法
1095
查看次数

PWA 通知如何重定向到已安装的应用程序(如果存在)

这看起来相当基本,但我在这里找不到答案。

MDN 官方文档显示,获取导航回应用程序的通知应如下所示:

self.addEventListener("notificationclick", (event) => {
    event.notification.close();
  
    event.waitUntil(
      clients
        .matchAll({
          type: "navigate",
        })
        .then((clientList) => {
          for (const client of clientList) {
            if (client.url === "/" && "focus" in client) return client.focus();
          }
          if (clients.openWindow) return clients.openWindow("/");
        }),
    );
  });
Run Code Online (Sandbox Code Playgroud)

它在浏览器中工作正常,但如果我将网站安装为 PWA,它只会重定向到浏览器中打开的网站(如果存在)或重定向到空白页面。

有什么方法可以获取通知以重定向到其“来源”,或者理想情况下重定向到已安装的 PWA。

注意:我不清楚此示例中的 Web Worker 是否与已安装的 PWA 一起在隔离环境中运行,或者仍在主浏览器环境中运行 - 这似乎与其客户端列表相关。

javascript web-worker service-worker progressive-web-apps service-worker-events

7
推荐指数
0
解决办法
171
查看次数

MSVC 和 GCC 受 std::driven_from 约束的部分模板专业化编译方式不同

#include <concepts>

class Base {};

class Derived : public Base {};

// primary template
template <typename T>
    requires std::derived_from<T, Base>
struct C {
    static constexpr int value = 1;
};

// specialization
template <typename T>
    requires std::derived_from<T, Derived>
struct C<T> {
    static constexpr int value = 2;
};

static_assert(C<Derived>::value == 2);
Run Code Online (Sandbox Code Playgroud)

事实证明,MSVC 可以很好地编译代码 ( godbolt ),而 GCC 拒绝编译并显示错误消息 ( godbolt ):

错误:部分特化“struct C”不特化任何模板参数,并且不比主模板受到更多约束

我想知道根据语言标准,哪种行为是正确的,以及专门针对C++20 中C<T>所有T派生自Derived(而不是Base)(包括自身)的正确方法是什么。Derived

c++ language-lawyer c++20

5
推荐指数
1
解决办法
146
查看次数

Pandas 从分配的列中过滤

我尝试使用 allocate() 函数创建一个即时列,并且我想过滤该列中的值。但熊猫不认识它。

df.assign(PROMO_TXN_CNT_LTM_RATE = df.PROMO_TXN_CNT_LTM / df.TXN_CNT_LTM).loc[df.PROMO_TXN_CNT_LTM_RATE > 1]
Run Code Online (Sandbox Code Playgroud)

错误消息: 在此输入图像描述

有什么办法可以做到这一点吗?

python dataframe pandas

1
推荐指数
1
解决办法
67
查看次数

SignalR(在 docker 容器上)升级到 .NET8 后网关错误

因此,我们刚刚将 .NET 6 项目升级到 .NET 8,除了 SignalR 连接之外,一切都运行良好。

我们在 kubernetes 集群上运行,并有一个入口和服务(没有改变)来连接到运行 .NET 应用程序的 docker 容器。

当我们运行 .NET 6 容器时,一切工作正常,但是一旦我们部署 .NET 8 容器,HubConnection.StartAsync(来自其他应用程序)就会抛出:

“响应状态代码并不表示成功:502(错误网关)。”

有谁知道 .NET 8 或 docker 容器 (mcr.microsoft.com/dotnet/aspnet:8.0) 与 .NET 6 相比是否发生了某些变化,使其不会公开端口或其他会阻止通信的内容?

我们尝试在本地主机上运行它,然后它可以连接。而且.NET 6应用程序仍然可以正常运行,所以这让我相信它不是kubernetes入口或服务,而是容器中的某些东西。

Dockerfile:

FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base

FROM base AS final
WORKDIR /app
COPY .  .

ENV TZ="Europe/Amsterdam"

EXPOSE 80

ENTRYPOINT ["dotnet", "application.dll"]
Run Code Online (Sandbox Code Playgroud)

.net signalr docker kubernetes

2
推荐指数
1
解决办法
407
查看次数

为什么我的 JS 程序在有/没有“问题行”的情况下表现不同?

问题出在handleLineEnd函数中。我撕掉了所有不需要显示问题的线条。

没有这条线:我可以在 ctx 上绘制多个矩形。

使用该线:每个矩形都会被下一个矩形覆盖。

该代码在旧版 Chrome (118.0.5993.71) 中运行良好,而在版本 119.0.6045.106 中则无法运行

function handleLineEnd(evt) {
  {
    startDrawing = false;
    var dummy = ctx.getImageData(3, 3, 5, 5); // problem line
    ctx.drawImage(canvaslayer, 0, 0);
    ctxlayer.clearRect(0, 0, el.width, el.height);
  }
}
Run Code Online (Sandbox Code Playgroud)

function handleLineEnd(evt) {
  {
    startDrawing = false;
    var dummy = ctx.getImageData(3, 3, 5, 5); // problem line
    ctx.drawImage(canvaslayer, 0, 0);
    ctxlayer.clearRect(0, 0, el.width, el.height);
  }
}
Run Code Online (Sandbox Code Playgroud)
var el = document.getElementById("canvasID");
var elcontainer = document.getElementById("containerID");
var ctx = el.getContext('2d');
var startpuntX, startpuntY, …
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome canvas getimagedata html5-canvas

2
推荐指数
1
解决办法
157
查看次数

|x| 上双精度的 tan(x) 近似值 &lt;圆周率/4

我想在 -pi/4 到 pi/4 范围内快速将 tan(x) 近似到 1 ULP 以内。我已经找到了一个几乎足够好的解决方案,但即使有相当多的计算时间和模拟退火,最后一个因子仍然让我无法理解。

我寻求 tan(x) 的特定数值近似,其形式为:

tan(x) = x*P(x^2)/Q(x^2)

其中 P 和 Q 都是 x^2 的三次方。我需要对近似值施加一些额外的约束。即匹配零时的函数值和梯度,理想情况下也是 pi/4 时的函数值和梯度。我暂时决定放宽 pi/4 的梯度约束。我应该在这里说,我所寻求的近似值在哈特的计算机近似值“圣经”中不幸缺失,这表明收敛是一个相当棘手的过程。

通常他会给出整个序列,但 tan 和 pi/4 的表会跳过 3,3,这很奇怪,因为它对于 64 位实数来说应该是完美的。精度是P、Q中N、M分别为最高非零系数所得到的正确小数位数

精确 氮 中号 指数
10.66 2 2 4283
13.62 2 3 4284
19.74 4 3 4285
19.94 3 4 4286

我得到的系数是通过模拟退火和一些本地狡猾的方法从 Pade 近似中推导出来的,这些方法扰乱了局部最小值的解决方案。还可以,但对于我的目的来说仍然不够好。有一个顽固的补丁~0.14,其中相对误差峰值保持在 5.5e-16(大约十亿分之 60 测试用例),并且 4.4e-16 箱中的值也稍微太多。这是我迄今为止在 10^9 随机挑战测试中得到的相对误差直方图:

-5.5511e-16 | 0
-4.4409e-16 | 704272
-3.3307e-16 | 0
-2.2204e-16 | 157067630
-1.1102e-16 | 0 …
Run Code Online (Sandbox Code Playgroud)

c optimization trigonometry numeric numerical-methods

12
推荐指数
2
解决办法
468
查看次数

Knockoutjs 上下文调试器中的恶意软件

有没有其他人看过这个:在此输入图像描述

KnockoutJs 还有其他扩展吗?

knockout.js

5
推荐指数
1
解决办法
1216
查看次数