【发布时间】:2018-02-05 20:23:27
【问题描述】:
我希望有人就如何在过渡中更改视图提供帮助。 我的问题是我需要动态加载视图。所以我创建了一个新视图(这似乎有效):
var viewname = 'view-'+Date.now();
var element = angular.element(document.querySelector('#view-container'));
var scope = element.scope();
var elementString = '<div id="'+viewname+'" ui-view="'+viewname+'" class="viewunique"></div>';
$compile(element.append(elementString))(scope);
这会将视图添加到$view 变量中,并且似乎可以正常工作。
我的问题是:如何在 statechange 中使用这个新视图。我尝试使用 $transition$.$to() 之类的:
$transitions.onStart( {}, function($transition$) {
$transition$.$to().views = {
templateUrl : templateUrl
};
});
其中viewname 是创建视图的名称,templateUrl 是正确的模板。模板将有它自己的控制器和东西。这将覆盖此状态的视图,但不会真正起作用或做任何事情。
不知何故,我想将转换中状态的视图更改为该状态,以便使用动态创建的视图。这可能吗? 有人知道如何做到这一点吗?
【问题讨论】:
-
也许这有任何用处:stackoverflow.com/questions/11003916/…。它描述了如何更改控制器中的视图。
标签: angularjs angular-ui-router