我想有这样的事情里面调用函数?功能外ngOnInit
回答
我不确定你为什么要这样做?但是,这是什么会使其工作:
您的组件内部,声明一个变量
func : any;
内。然后ngOnInit,
ngOnInit(){
...
func = function test() {
...
}
}
然后调用另一个函数内部的功能在同一组件使用,
function someOtherFunction()
{
this.func();
}
这是完全错误的。首先,你不能用'let'在类中声明一个属性。没有“任何”类型,只有“任何”。如果使用'function'语法创建'func',则需要保存对'this'的引用 - 您应该使用箭头函数。你不能用'function(){func()}'调用一个函数。这是一个函数定义,而不是一个调用。 –
@LazarLjubenović,你绝对正确。我没有运行代码。我的意思是你需要使用一个类成员变量来存储你在ngOnInit()方法中定义的函数的一个实例,以便你可以从另一个函数调用它。我会更正我的回答 – Sanjucta
@LazarLjubenović,关于你的评论关于必须保存对此的引用,就Typescript而言这是不正确的 – Sanjucta
功能你ngOnInit
需要定义s被存储在类实例中的某个地方,以便再次调用它。这意味着,你需要将其存储在一个属性。
class Component {
private fn: Function; // or a better type if you know it
}
现在,ngOnInit
内,一个函数分配给该变量。您可能想要使用this
的箭头功能作为您(可能)期望的效果。
class Component {
private fn: Function; // or a better type if you know it
public ngOnInit(): void {
this.fn =() => {} // create it here
}
}
发生这种情况后,您可以从任何地方通常调用fn
函数。
this.fn()
不过要小心,如果你尝试,你会得到一个运行时错误OnInit
勾踢之前执行上面的线。例如,如果你使用的fn
钩OnChanges
(将一次OnInit
挂钩之前调用)里面,你需要小心:
if (this.fn) {
this.fn()
}
- 1. 外功能
- 2. 通在功能之外的功能
- 3. 在外部功能
- 4. 例外与功能
- 5. 改变外功能
- 6. Angular 2 hooks ngOnInit
- 7. “本”在ngOnInit
- 8. 功能NHibernate例外集合
- 9. PHP Override外部类功能
- 10. 的Python:外功能错误
- 11. document.evalute功能,给予例外
- 12. Node.JS变量外功能
- 13. PostgreSQL的功能外键
- 14. 功能调用外弹出
- 15. 使用外部功能LINQ
- 16. C++定义功能外
- 17. 从功能外蟒蛇
- 18. Javascript变量功能之外?
- 19. Ionic2 ngOnInIt on navigation pop
- 20. 功能目录之外的水豚功能
- 21. 如何评估内部功能与外包Web API功能
- 22. log4javascript IE8意外错误“功能attendue”/“预期的功能”
- 23. 无法调用此功能之外的功能Div
- 24. 如何通过该功能外的按钮修改功能?
- 25. 的JavaScript之外的功能变量更新从内部功能
- 26. Polymer 2.0功能之外的聚合物访问功能
- 27. 如何从NgOnInit重定向?
- 28. Angular2 ngOnInit没有触发
- 29. 如何避免级联ngOnInit?
- 30. ngOninit not getting called angular 2 express
这是不可能的,你不能有内部功能的功能 –
@RahulSingh不正确。完美有效的嵌套功能。 – Saravana
@Saravana它可能我得到它使用函数声明。但不是护城河优雅的方式。那么最好宣布单独的方法带走模块化我感觉。它变成了一种封闭形式 –