我正在尝试将一个返回字符串的 lambda 表达式分配给一个属性,根据 API 描述,该属性接受类型 (String | Object[] | Function)。
this._popupTemplate.content = (feature) => {
var template: string;
//....
return template;
}
Run Code Online (Sandbox Code Playgroud)
它似乎有效,但是,webstorm 说“
类型(特征:任何)=> 字符串的分配表达式不能分配给类型字符串
”
所以我尝试使用类型断言:<string>(feature) => {...}这似乎没有效果。我怎样才能满足webstorm(不压制信息)?
Labmda 表达式
(feature) => {
var template: string;
//....
return template;
}
Run Code Online (Sandbox Code Playgroud)
只是像这样编写普通函数的更简单方法
function(feature) {
var template: string;
//....
return template;
}
Run Code Online (Sandbox Code Playgroud)
问题是你试图分配函数本身,而不是它的值。你必须先执行它。在函数(或 lambda)周围添加括号,然后通过在其后添加带参数的括号来执行它。像这样:
this._popupTemplate.content = ((feature) => {
var template: string;
//....
return template;
})(feature);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10121 次 |
| 最近记录: |