在新版本的 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) 最近我将角度从 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 的情况下使用本地存储。
我有一个文件如下:
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) 这看起来相当基本,但我在这里找不到答案。
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
#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
我尝试使用 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)
有什么办法可以做到这一点吗?
因此,我们刚刚将 .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) 问题出在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)我想在 -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) angular ×2
javascript ×2
.net ×1
angular17 ×1
awk ×1
c ×1
c++ ×1
c++20 ×1
canvas ×1
dataframe ×1
docker ×1
getimagedata ×1
html ×1
html5-canvas ×1
if-statement ×1
knockout.js ×1
kubernetes ×1
linux ×1
numeric ×1
optimization ×1
pandas ×1
python ×1
replace ×1
signalr ×1
substr ×1
trigonometry ×1
web-worker ×1