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

Angular ui router optional query param load the controller twice

我想在某些页面中使用带有可选参数的 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

此问题现已修复。尝试 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 (不确定是哪个版本修复的)。有一个link到"broken" plunker

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