Tôi đã cố gắng sử dụng các loại param với ui-router và dường như không thể làm cho chúng đúng.Cách chính xác để sử dụng loại tham số "bool" với ui-router là gì?
$stateProvider.state({ name: 'home.foo', url: '/foo/{isBar:bool}', controller: function() { }, templateUrl: 'foo.html' });
kỳ vọng của tôi là tôi sẽ có thể chuyển sang trạng thái như thế này:
$state.go(home.foo, { isBar: false })
hoặc
ui-sref="home.foo({ isBar: false })"
tuy nhiên trong kết quả $ stateParams bạn sẽ thấy isBar: true
Nhìn vào cách 'bool' param type is written Tôi giả sử đúng/sai phải được mã hóa là 0/1 trên url nhưng điều này không xảy ra. Nếu sử dụng 0/1 trong params cho $ state.go thì nó hoạt động và được giải mã là false/true nhưng để làm rối loạn thêm vấn đề, điều này không hoạt động nếu sử dụng ui-sref.
Hy vọng điều này plunker sẽ giải thích tốt hơn. Bất kỳ gợi ý nào được đánh giá cao!
Edit: Mục tiêu của tôi trong việc sử dụng các loại bool param là để kết thúc với một kiểu dữ liệu boolean trong $ stateParams
Đây là hành vi buggy trong 0.2.13 và đã được sửa trong cam kết này: https://github.com/angular-ui/ui-router/commit/b0c6aa2350fdd3ce8483 144774adc12f5a72b7e9. Nếu bạn xây dựng từ master, plunk của bạn hoạt động. http://plnkr.co/edit/u3NsF0PSmNt3HWiQkdvP?p=preview –
Xin chào, cảm ơn Chris! Điều đó cũng sẽ đóng lại vấn đề này cho bạn? https://github.com/angular-ui/ui-router/issues/1655 – brahnp