将stateParameter解释为BOOL类型

时间:2016-09-07 05:34:43

标签: angularjs angular-ui-router

我有一个状态参数show,例如

http://localhost/#/index?show=true

当我从$stateParams获取该值时,它被解释为字符串true,现在我手动将字符串转换为BOOL,例如

if ($stateParams.show == 'true') {
    $scope.XXX = true;
}

可以自动完成吗?

1 个答案:

答案 0 :(得分:0)

好吧,如果您在URL上传递参数,那么我不认为有一种自动方式可以做你想要的。但你可以这样做。

不要在网址上传递参数,并在state定义中为您的参数添加默认值。

$stateProvider.state("state1", {
        url: "/one",
        template: "<p>State 1 </p>",
        controller: "Ctrl1",
        params:{
          show:null
        }
      })

当您从show更改为另一个Boolean时,这会使state参数保持为state1

结帐这个小提琴http://jsfiddle.net/Miqe/j4to216z/拉出你的控制台,看看state2C:Inetpubwwwrootsystem_web2_0_50727

之间的区别