Angular UI Router:当父级和子级在url中使用同名参数时,子状态加载两次

时间:2017-04-28 08:34:07

标签: javascript angularjs angular-ui-router

http://plnkr.co/edit/B4RMbBCZKxXcJAWy5B0G

这个笨蛋可以重现这个问题。

我在这个演示中定义了两个状态,一个父母,一个孩子。

他们都在网址中使用名为"someParameter"的参数。

当您通过单击按钮从父状态转到子状态时,您可以在控制台中看到每个日志语句都执行两次。

知道为什么会这样吗?我该如何解决?

(PS:在我的生产代码中,我确实需要父页和子页同时采用相同名称的参数)

2 个答案:

答案 0 :(得分:0)

你可以这个

.state('home', {
  url: '/home',
  params: {
    someParameter: ''
  },
  templateUrl: 'partial-home.html',

Plunkr example

答案 1 :(得分:0)

我会在父状态

上使用参数定义
.state('home.list', {
    url: '/list', //?someParameter',

检查adjusted plunker

这样,孩子和父母都会被提供这样的参数,如果它们的值发生变化,它们都会被刷新。此外,双控制台日志已解决...