在this documentation page中建议每个视图/小部件使用ensureInjected()
:
推荐的模式是在静态中调用ensureInjected() 各种小部件类型的初始化程序
但我的用例是应用程序中所有视图中的一个共享.css文件(及其对应的CSSResource
)。在我的所有观看中,我是否真的需要为此ensureInjected()
致电CSSResource
?
另一种方法是在onModuleLoad()
中调用此方法,而不是从singleton访问CSS资源。这是合法的方法吗?它有任何缺点吗?
答案 0 :(得分:6)
重要的是ensureInjected()
在显示引用CssResource
的任何内容之前至少被调用一次,否则样式表将不会出现,并且没有样式可以应用匹配类名
是的,可以在ensureInjected()
中仅拨打onModuleLoad
一次。
并且您不必使用单例,给定ClientBundle
的所有实例将共享相同的资源实例(它们将作为单例生成)。