Angularjs   发布时间:2022-04-20  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了angular – ng2:相当于require大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
在角度1.x中,我们可以通过在指令内部要求它来引用父控制器.但是,在角度为2的整个命名切换时,我似乎无法找到相应的功能

到目前为止我尝试过的事情:

>我看到的一种方法是将父母输入孩子,但这似乎有点多了.
>我看到的另一种方式是使用服务,但这给了我一定的恐惧,据我所知,服务仍然是一个单身,所以其他组件现在可能搞乱一个不同组件的孩子的东西(如果那个孩子引用服务)…
>最后它使用了这些局部变量的东西(带有#标签的东西),但这看起来与输入的第一个选项相同.

我不太了解Angular1,因此我无法确切地知道需要做什么或者用于什么目的.

对于你问题中提到的子弹:

>通常,您使用模板绑定来连接父项和子项

父模板

@H_675_17@<child [childInput]="parentValue" (childOutput)="doSomethingInParent()">

>服务是每个提供商的单身人士.相同的提供程序将始终返回相同的实例,但您可以多次提供相同的服务,然后它不再是真正的单例.因此,您提供服务的位置定义了将其视为单例的范围.当您在组件上提供它时,此组件实例和所有子组件将获得相同的实例(只要子项不提供相同的类型).

此DI行为可以防止您在问题中提到的冲突.

>模板变量更适用于指代兄弟姐妹

@H_675_17@<child1 [child1Input]="child2.child2Prop" (child1Output)="child2doSomethingInChild2()"> <child2 #child2></child2>

>如果您知道父组件的类型,则可以要求将其注入子组件的构造函数

@H_675_17@constructor(@Host() private parent:ParentComponent) {}

这在递归组件(如树)中尤其方便,因为它知道父组件是什么.在这种情况下,可能需要额外的装饰器

@H_675_17@constructor(@Optional() @SkipSelf() @Host() private parent:ParentComponent) {}

哪里

> @Optional()用于根组件以避免异常,因为没有要注入的相同类型的父级
> @SkipSelf()避免组件本身被注入,因为它与它实际想要注入的父类型相同. DI始终从组件本身开始查找提供程序.

另见Inject parent component of the same type as child component

大佬总结

以上是大佬教程为你收集整理的angular – ng2:相当于require全部内容,希望文章能够帮你解决angular – ng2:相当于require所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。