我有财产课:
public requestLoadPersonal: Personal[] = [];
还有一种方法:
private filterByGender(selectedValue: any): void {
console.log(this.requestLoadPersonal);
this.requestLoadPersonal = this.requestLoadPersonal.filter(
(p: Personal) => {
return selectedValue ? p.gender == selectedValue : true;
}
);
}
在类的构造函数我有:
public filterFn = {
name: this.filterByGender
}
为什么当我从objectfilterFn
按键调用函数this.filterByGender
时。我收到一条未定义的消息,为什么变量this.requestLoadPersonal
在内部不可用:
console.log(this.requestLoadPersonal)
?
调用为:
this.filterFn['name']({...});
我尝试绑定变量:
this.filterFn['name']({...}).bind(this.requestLoadPersonal);
在您的构造函数中,您应该将函数绑定到this
,如下所示:
constructor() { this.filterFn = { name: this.filterByName.bind(this) }; }
因为仅仅{name:this.filterByName}
会丢失this
上下文,即filterByName
具有其他实例的this
上下文。
然而,我建议你简化一切,让它更直截了当。目前它很复杂,因此容易出错。
我试图创建一个名为的状态变量作为字典(例如:)。隐藏可以是空的。 在我的一个方法中,我想将一个项目推送到隐藏状态变量并将它们相加。 我一直在提示这个错误: 类型'String[]|未定义'不是数组类型。 我是typescript新手,我不确定我是否正确设置了所有变量。这是我的代码(仅相关部分): 新代码: 这就是错误: 键入“(字符串|{dict:Map
我有以下html: 我试图获得如下范围: 但我收到:。 我是angularJS初学者,我只是不明白为什么这不起作用。 更新:这也不起作用: 更新2:我试图在控制台中打印出作用域的所有代码:
问题内容: public class Category { 在正在生成。 问题答案: 当您执行时,您称呼孩子们的。这里没有问题,只不过您在这里调用了父对象。这将称呼孩子,等等。 不错的无限循环。 摆脱它的最好方法是将您的方法更改为: 这样,您将不打印parentCategory,而仅显示其名称,不显示无限循环,不显示StackOverflowError。 编辑: 正如博洛在下面说的那样,您将需要检
问题内容: 我试图制作一个延迟X毫秒执行异步函数的函数。 为了演示的目的,以下是异步函数,该函数采用URL: 目的 我在这里的目标是要有一个函数,它将接受X 的参数,然后每隔X ms调用一次,直到不再有其他参数为止。 基本上,我希望每次调用都用X ms分隔。 例如,假设我连续打电话20次。通常,这20个呼叫将立即进行。我想要的是确保20个呼叫之间都存在Xms的延迟。 暂定 解决这个问题的想法是建立
问题内容: 我一直在跟随一个教程,教科书向我保证这可以工作,但是 错误:[ng:areq]参数’SimpleController’不是一个函数,未定义 为什么?我掉毛了,在它上面上下移动,看不到问题。为什么出现未定义状态? 问题答案: 我的猜测是您使用的angular.js版本是更新的。 有一个重大变化,即: 默认情况下 , angular将不再寻找控制器。有关更多详细信息,请参见3f2232b5
请问为什么第13行的错误是未报告的异常,必须捕获pr声明要抛出