AngularUI Rounterで$stateParamsに0埋めの文字列を渡したい
プロフィールページを0で埋められた7桁のプロフィールIDのついたURLで表そうと、UI Routerを使っているのですがURLを正しく作れなくて困っています。
HTMLは下のようにaタグのui-sref属性にパラメーターを指定しました。
ctrlはaタグを囲っているタグでCtrl as ctrlの様に指定したものです。ctrl.profilenameは'ユーザー1'など適当な文字列が入っています。
ctrl.profileIdにはこの場合文字列'0000001'が入っています。
<a ui-sref="profile({profileId:{{ctrl.profileId}}})">{{ctrl.profilename}}</a>
$stateProviderはstateとurlをui-srefに指定されたパラメーターからURLを作ってくれるように設定しました。
Viewはプロフィールの表示先の名前でstateはViewが属するstateです。
$stateProvider.state('profile', {
//hrefを作る際に?文字列だった'0000001'が1のように変換されてしまいます。
url: 'profile/:profileId',//現在のアドレスは/とします。なので/profile/0000001が求めているアドレスです。
views: {
'View@state': {
templateUrl: '/templates/profile.html',
controller: 'profileCtrl as profile'
}
}
});
しかし表示されたビューのコントローラーprofileCtrlでprofileIdを見ようとすると'0000001'を取りたいのに1になってしまいます。
console.log($stateParams.profileId); //1と表示される
HTMLも下のように表示されてしまいます。
<a ui-sref="profile({profileId:0000001})" href="/profile/1">ユーザー1</a>
どうすればhrefのURLを'0000001'の様に0で埋めて表示できますでしょうか?
あとで加工してしまうという方法もあるのですが、できればそのままでui-router側の設定やパラメーターに指定するときなどで何か出来る対策は無いでしょうか?