gpt4 book ai didi

javascript - ui-router 不更改地址栏中的 url

转载 作者:行者123 更新时间:2023-12-02 17:28:05 25 4
gpt4 key购买 nike

当我单击电子邮件按钮时,它应该加载电子邮件页面并将 URL 更改为 /emails。当我单击文本按钮时,它应该加载文本页面并将 url 更改为 /texts

虽然电子邮件工作正常,但实际发生的情况是,当我单击文本按钮时,正确的 ctrl 和 View 已加载并正常工作,但我的地址栏保留了我所在的最后一个网址,而不是更改为文本网址。

我的应用程序工作正常,但我不知道是什么原因造成的。

当我手动输入网址并点击输入正确的 View 并按预期加载 ctrl 时,但是当我单击另一个链接然后单击文本链接时,我的地址栏仍保留最后一个网址。

enter image description here

URL 错误,应该是 /textsenter image description here

电子邮件模块代码

/emails/emails.js

angular.module('rmc.contact.emails', [
'rmc.contact.emails.create',
'rmc.contact.emails.edit',
'rmc.contact.emails.preview',
'rmc.contact.emails.view'
])

.config(['$stateProvider', function($stateProvider) {
$stateProvider
.state('rmc.contact.emails', {
url: '/emails',
controller: 'EmailsCtrl',
templateUrl: '/apps/rmc/contact/emails/emails.tpl.html'
});
}])

/emails/create/create.js

angular.module('rmc.contact.emails.create', [])

.config(['$stateProvider', function($stateProvider) {
$stateProvider
.state('rmc.contact.emails.create', {
url: '/create?cardId',
controller: 'EmailsCreateCtrl',
templateUrl: '/apps/rmc/contact/emails/create/create.tpl.html'
});
}])

文本模块代码

/contact/texts/texts.js

angular.module('rmc.contact.texts', [
'rmc.contact.texts.create',
'rmc.contact.texts.edit',
'rmc.contact.texts.preview',
'rmc.contact.texts.view'
])

.config(['$stateProvider', function($stateProvider) {
$stateProvider
.state('rmc.contact.texts', {
url: '/texts',
controller: 'TextsCtrl',
templateUrl: '/apps/rmc/contact/texts/texts.tpl.html'
});
}])

/contact/texts/create/create.js

angular.module('rmc.contact.texts.create', [])

.config(['$stateProvider', function($stateProvider) {
$stateProvider
.state('rmc.contact.texts.create', {
url: '/create',
controller: 'TextsCreateCtrl',
templateUrl: '/apps/rmc/contact/texts/create/create.tpl.html'
});
}])

菜单链接

/contact/contact.tpl.html

    <div class='three-full-btns'>
<a ui-sref='rmc.contact.calls.create({ cardId: 0 })' ng-if="hasPermission('rmc.calls')" title='Calls' class='btn'>
<i class='icon-phone'></i>
</a>

<a ui-sref='rmc.contact.emails.create({ cardId: 0 })' ng-if="hasPermission('rmc.emails')" title='Emails' class='btn'>
<i class='icon-envelope'></i>
</a>

<a ui-sref='rmc.contact.texts.create' ng-if="hasPermission('rmc.texts')" title='Texts' class='btn'>
<i class='icon-mobile-phone'></i>
</a>
</div>

<div class='three-full-btns'>
<a ui-sref='rmc.contact.systems.create({ cardId: 0 })' title='Systems' ng-if="hasPermission('rmc.systems')" class='btn'>
<i class='icon-ok'></i>
</a>

<a ui-sref='rmc.contact.forms.create({ cardId: "" })' ng-if="hasPermission('rmc.forms')" title='Forms' class='btn'>
<i class='icon-file-text'></i>
</a>

<a ui-sref='rmc.contact.columns.view({ cardId: "" })' ng-if="hasPermission('rmc.columns')" title='Column Forms' class='btn'>
<i class='icon-columns'></i>
</a>
</div>

最佳答案

在 Controller 中查找 $state.go(),它会在状态加载后立即将您发送到您已经所处的状态。这样做会导致您所看到的行为。

关于javascript - ui-router 不更改地址栏中的 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23326009/

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