Я пытаюсь использовать типы параметров с помощью ui-router и не могу их правильно понять.
$stateProvider.state({
name: 'home.foo',
url: '/foo/{isBar:bool}',
controller: function() { },
templateUrl: 'foo.html'
});
Мое ожидание заключается в том, что я должен иметь возможность перейти к такому состоянию, как это:
$state.go(home.foo, { isBar: false })
или
ui-sref="home.foo({ isBar: false })"
однако в результирующих $stateParams вы увидите isBar: true
Глядя на то, как пишется 'bool' тип параметра, я полагаю, что true/false должно быть закодировано как 0/1 на url, но этого не происходит, Если используется параметр 0/1 в параметрах для $state.go, то он работает и декодируется как false/true, но для дальнейшего путаницы проблемы это не сработает при использовании ui-sref.
Надеюсь, этот plunker будет лучше объяснять. Любые подсказки оценены!
Изменить: Моя цель использования типа параметра bool состоит в том, чтобы в итоге получить логический тип данных в $stateParams