AngularJS每次加载路径时都会创建一个新的ng-view
,然后销毁之前的ng-view
,这是正常的吗?这只是一小部分时间,但我可以看到我的应用程序上的两个视图,并且收集元素top的一些指令也注意到行为(似乎编译是在原始ng-view
从DOM中删除之前完成的)
有人注意到这种行为吗?
答案 0 :(得分:3)
是的,这是正常的,这允许您在视图被替换时进行转换。
来自 official documentation of ngView
:
输入 - 动画用于将新内容带入浏览器。离开 - 动画用于动画现有内容。
输入和离开动画同时发生。
实际上ngView
并不是唯一表现得像这样的指令,例如ngRepeat
表现完全相同。
如果你想确保你的观点不重叠,你可以试试这个。
在ng-view
的元素中添加一个类,以便您可以轻松地从css中定位它,如下所示:
<div ng-view class="your-view"></div>
然后在你的css中这样做:
.your-view.ng-leave { display:none; }