Dou*_*ent 2 aurelia aurelia-router
关于Container的使用的Aurelia文档清楚地表明"每次路由器导航到屏幕时,它都会创建一个子容器来封装与该导航事件相关的所有资源,然后在该子容器中自动注册屏幕的视图模型如您所知,默认情况下,自动注册会导致视图模型被注册为单例."
但是,我在我的应用程序中看到的是,每当激活相关视图时,默认情况下都会调用所有视图模型构造函数.根据我的理解,这不是视图模型的"单身"行为.
任何人都可以解释我在这里不理解的东西吗?
谢谢
了解子容器对生命的影响很重要.当路由器导航时,它会创建一个子容器,并在该子容器中注册屏幕的视图模型.它是一个单例,作用于该子容器,而不是应用程序级别.所以,当发现孩子的容器被布置(下一次有一个导航),所有的单身注册中也得到安置.
如果您希望视图模型"比"导航请求周期"更长",则可以使用@singleton()装饰器.