【问题标题】:Angular ui router - Transistion from one state to same state without parameters failsAngular ui路由器 - 从一种状态转换到没有参数的相同状态失败
【发布时间】:2016-04-25 20:58:58
【问题描述】:

Plunker Demo

  <script>
    var myapp = angular.module('myapp', ["ui.router"])
     myapp.config(function($stateProvider, $urlRouterProvider) {

      // For any unmatched url, send to /route1
      $urlRouterProvider.otherwise("/dashboard")

      $stateProvider
        .state('dashboard', {
          url: '/dashboard',
          templateUrl: 'dashboard.html',
          controller: 'MainCtrl'

        })
        .state('verify', {
          url: '/verify?email&code',
          templateUrl: 'verify.html',
          controller: 'verifyCtrl'
        })
    });
    myapp.controller('MainCtrl', function($scope,$state) {
      $scope.goTo = function () {
        $state.go('verify',{'email':'param@test.com', 'code': {'name': 'test name'}});
      }
    })
    myapp.controller('verifyCtrl', function($scope, $stateParams) {
      $scope.email = $stateParams.email;
      $scope.code = $stateParams.code.name;
    })
  </script>

当从带有参数的状态导航到不带参数的相同状态时,它不起作用。

在演示中,首先单击“使用电子邮件和代码验证”,然后单击其他链接“无参数验证”。它将无法正确导航。

【问题讨论】:

    标签: javascript jquery angularjs node.js


    【解决方案1】:

    状态属性通常在从一种状态转换到另一种状态时被继承。如果未定义参数,这也会导致参数被复制。使用inherit=false 将停止此操作。 为了在 ui-serf 中使用这个选项,我们有 ui-sref-opts 属性。

    Demo-Plunker

    在 HTML 中:

    <a ui-sref="verify" ui-sref-opts="{inherit: false}">verify without params</a>
    

    在 JS 中:

    $state.go('verify',{},{inherit:false});
    

    【讨论】:

    • 不,这不是我的问题,我需要导航到有参数的状态到没有参数的状态,反之亦然“plnkr.co/edit/IDjxWhO1mP1bsDCyEBef?p=preview”。看,你的 Angular 不能与更新的 Angular 一起使用
    • 您能以您的页面为例解释说“有参数到没有参数”是什么意思吗?我的理解是,您想移动到有或没有参数的状态验证。
    • 是的,当然我在链接/状态(活动)run.plnkr.co/Hk0zba9O2y3Js4rj/#/verify 如果我想使用参数更改到相同的链接/状态run.plnkr.co/Hk0zba9O2y3Js4rj/#/… 它不会改变视图。
    • 因此,最初您使用 email:test1@tt 移动到状态验证,然后您想再次使用不同的参数移动到相同的状态验证,例如 email:test2@tt 但您的值没有得到更新。这是你的问题吗?
    • 是的,对,这是我的问题
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-12
    • 1970-01-01
    • 2015-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多