【问题标题】:Angular ui-router 1.0 change view in $transition$transition 中的 Angular ui-router 1.0 更改视图
【发布时间】: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 是正确的模板。模板将有它自己的控制器和东西。这将覆盖此状态的视图,但不会真正起作用或做任何事情。

不知何故,我想将转换中状态的视图更改为该状态,以便使用动态创建的视图。这可能吗? 有人知道如何做到这一点吗?

【问题讨论】:

标签: angularjs angular-ui-router


【解决方案1】:

好的,我对您到底想要什么进行了一些研究。如果我理解正确,您想在状态更改期间更改视图,每个视图都有自己的范围和控制器。

在我看来,这就像您希望多个状态相互运行一样。也许你可以看看 ui-router-extras: https://github.com/christopherthielen/ui-router-extras

这个包将允许您使用并行状态和嵌套状态,我相信这是您想要/需要的。

https://christopherthielen.github.io/ui-router-extras/#/home 上抢夺更多信息和工作示例。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-06
  • 1970-01-01
  • 2018-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多