我正在实现一个 RTL 接口。所有组件和文本都是 RTL,但数字是 LTR。
我使用<span dir="ltr">元素将 LTR 文本插入到主要的 RTL 文本中。
它适用于大多数情况,但不适用于<option>元素:
<div dir="rtl">
<select>
<option>One amount <span dir="ltr">15.000</span> coins</option>
<option>Other amount <span dir="ltr">19?000</span> coins</option>
</select>
</div>
Run Code Online (Sandbox Code Playgroud)
它不工作。
这里有一个 JSfiddle 可以玩:https ://jsfiddle.net/fguillen/2hngzv3d/
考虑这个从内部 CMS 返回的对象
export declare interface ContentItem {
id: string;
title: string;
subTitle: string;
clickUrl: string;
imageUrl: string;
contentType: string;
...
}
Run Code Online (Sandbox Code Playgroud)
将clickUrl有一个完整的 url,可导航到有效的角度路线。我正在寻找一种在routerLink指令中使用此 url 的方法;像这样的东西
<a [routerLink]="contentItem.clickUrl">click me</a>
Run Code Online (Sandbox Code Playgroud)
我的问题是当这个网址包含查询参数时。该指令将从 url 中转义“?”、“=”和“&”字符。
我知道我们可以像这样传递查询参数:
[queryParams]="{ articleId: contentItem.id }"
Run Code Online (Sandbox Code Playgroud)
clickUrl但是,如果不从前面提到的查询参数部分中删除,这将不起作用。
const localAuth = async (callback: () => any) => {
// not sure the return type of callback, so cast a any type
const ok = Math.random()
if (ok > 0.5)
return callback()
else {
return null
}}
localAuth(() => null).then(val => {
console.log(val.mayNotExist) // doesn't complain, but val maybe null!
})
Run Code Online (Sandbox Code Playgroud)
打字稿代码如上,因为回调的返回类型不确定,所以我给它分配了一个any类型,但显然any类型吞掉了'null路径',如何更改代码以不错过null的可能性?