Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ui路由器未更改地址栏中的url_Javascript_Angularjs_Angular Ui Router - Fatal编程技术网

Javascript ui路由器未更改地址栏中的url

Javascript ui路由器未更改地址栏中的url,javascript,angularjs,angular-ui-router,Javascript,Angularjs,Angular Ui Router,当我点击emails按钮时,它应该加载emails页面并将url更改为/emails。 当我点击文本按钮时,它应该加载文本页面并将url更改为/text 虽然电子邮件工作正常,但当我单击文本按钮时,正确的ctrl和view会加载并工作,但我的地址栏保留了我上次使用的url,而不是更改为文本url 我的应用程序工作正常,但我不知道是什么原因造成的 当我手动输入url并按enter键时,正确的视图和ctrl键按预期加载,但当我单击另一个链接,然后单击文本链接时,我的地址栏中仍有最后一个url 好

当我点击emails按钮时,它应该加载emails页面并将url更改为
/emails
。 当我点击文本按钮时,它应该加载文本页面并将url更改为
/text

虽然电子邮件工作正常,但当我单击文本按钮时,正确的ctrl和view会加载并工作,但我的地址栏保留了我上次使用的url,而不是更改为文本url

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

当我手动输入url并按enter键时,正确的视图和ctrl键按预期加载,但当我单击另一个链接,然后单击文本链接时,我的地址栏中仍有最后一个url

URL错误,应该有
/text

电子邮件模块代码 /电子邮件/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'
            });
    }])
/电子邮件/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'
            });
    }])
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'
            });
    }])
文本模块代码 /联系人/text/text.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'
            });
    }])
/联系人/text/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'
            });
    }])
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>

我认为您应该在文本路由中明确声明参数,否则ui路由器不会查看该参数

 url: '/texts?cardId'
这里可能有问题:

<a ui-sref='rmc.contact.texts.create({ cardId: 0 })'

...

url: '/create',

在控制器中查找一个
$state.go()
,该状态加载后立即将您发送到您已经处于的状态。执行此操作将导致您看到的行为。

我删除了
{cardd:0}
,但仍然存在此问题。我从ui sref中删除了Cardd,实际上并不需要它,但仍然存在此问题。好的,因此您应该删除括号,可能只是删除了,但没有更改,不确定如何复制这个:/只是尝试一下,你能添加这个选项:我有相同的行为,你认为更新版本的代码> UI路由器< /代码>?