gpt4 book ai didi

javascript - 仅重新加载 $state.go 的特定 Controller

转载 作者:行者123 更新时间:2023-11-27 23:26:15 25 4
gpt4 key购买 nike

我的单页应用程序中有一个嵌套路由。因此,从状态 client.forms.instance 我转到另一个 $state,如下所示,

 $state.go('client.forms.instance.rendering', { 'sectionId': sectionId });

这个client.forms.instance.rendering是这样的,

var forms = {
url: '/sections/:sectionId',
templateUrl: 'scripts/client/forms/formInstance/rendering/formRendering.html',
controller: 'RenderingController',
controllerAs: 'vm',
};
$stateProvider.state('client.forms.instance.rendering', forms);

因此,当我 $stage.goclient.forms.instance.rendering 时,我想重新加载 Controller RenderingController

URL 更改正确。但是 RenderingController 并不是每次都重新初始化。

顺便说一句,我将带有 html 的 RenderingController 添加到主视图中,如下所示。

<div ng-include="'scripts/client/forms/formInstance/rendering/formRendering.html'"></div>

最佳答案

试试这个:

$state.go('client.forms.instance.rendering',{'sectionId':sectionId},{reload:true});
<小时/>

不重新加载父 Controller 。我认为您不需要在 ng-include 中手动注入(inject)模板,而是需要将其添加到父模板(instance)中:

<div ui-view></div>

然后在 'client.forms.instance.rendering' ui-router 中应该知道 renderinginstance< 的子级 并将在 url 匹配或其 state 被调用时在内部注入(inject)适当的模板并呈现其相关 Controller 。

如果需要在同一页面中注入(inject)多个状态。那么你可以考虑使用命名 View 。更多详细信息可以在这里找到:

https://github.com/angular-ui/ui-router/wiki/Multiple-Named-Views

关于javascript - 仅重新加载 $state.go 的特定 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34943254/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com