Angular ui路由器可选查询参数加载控制器两次

时间:2015-01-04 13:49:21

标签: javascript angularjs angular-ui-router

我希望在某些页面中使用可选参数进行ui sref,但问题是当我没有将参数传递给ui sref时,它会加载控制器两次。 我想有一个可选的查询参数。还有更好的方法吗?

$stateProvider
        .state('play', {
          url        : "/lottery/:id/:isFree",
          controller : "myController",
          templateUrl: "client/play/index.html"
        });


ui-sref="play({id: game.id, isFree:4}) // this is working fine.

ui-sref="play({id: game.id}) // this is reloading the controller twice

1 个答案:

答案 0 :(得分:1)

此问题现已解决。试试this working plunker here,它使用最新的 0.2.13 版本

<script data-require="ui-router@*" 
    src="//rawgit.com/angular-ui/ui-router/0.2.13/release/angular-ui-router.js"
></script>

该问题可以在旧版本中重现,例如0.2.8 (不确定哪个版本固定了)。有"broken" plunker

的链接
<script data-require="ui-router@*" 
    src="//rawgit.com/angular-ui/ui-router/0.2.8/release/angular-ui-router.js"
></script>