gpt4 book ai didi

javascript - Angularjs - 调用子状态时防止再次加载非抽象父状态

转载 作者:行者123 更新时间:2023-12-03 08:09:38 25 4
gpt4 key购买 nike

我正在尝试创建一个保持状态的模式。

每当调用子状态时,都会再次加载父状态(第二次)。是否可以在调用子状态时阻止加载父状态?

这是代码。如果需要更多信息,请发表评论。

.state('parent', {
url: "/name/:id/:param1",
templateUrl: "app/partials/parent.html",
params: {
param1: {
value: null,
squash: true
}
}
})
.state('parent.child', {
url: "/:child",
template: "<div class='some_name'></div>",
onEnter: function (ngDialog, $state, $stateParams) {
ngDialog.open({
templateUrl: '/app/partials/dialog.html'
}).closePromise.then(function () {
$state.go('name', $stateParams);
});
}
});

父级.html

<a class="some_class" 
ui-sref="parent.child({id: id, param1: param1?param1:null,child: 'child'})">
Open Child
</a>

我试图在子状态下显示模式,当模式关闭时,应用程序返回到父状态。

最佳答案

您可以将父 Controller 的逻辑移动到某种 activate 函数中(如果还没有的话),然后在调用 activate() 之前进行检查。

这是一个简化的示例:

.state('parent', {
url: "/parent",
template: "<div class='parent'></div>",
controller: ParentController,
})
.state('parent.child', {
url: "/child",
template: "<div class='child'></div>",
controller: ChildController
});

function ParentController($state) {
if ($state.is('parent')) {
activate();
}
}

ParentController.prototype.activate = function() {
// load up resources, etc
}

function ChildController() {

}

关于javascript - Angularjs - 调用子状态时防止再次加载非抽象父状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34200748/

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