我们可以使用
params, 新 的UI,路由器的功能:
API参考/ ui.router.state / $ stateProvider
params一个映射,可以选择配置在url中声明的参数,或定义其他非URL参数。对于每个要配置的参数,添加一个键入参数名称的配置对象。
参见以下部分:“ …或定义其他非URL参数… ”
因此状态def为:
$stateProvider .state('home', { url: "/home", templateUrl: 'tpl.html', params: { hiddenOne: null, } })上面的文档很少有示例:
// define a parameter's default valueparams: { param1: { value: "defaultValue" }}// shorthand default valuesparams: { param1: "defaultValue", param2: "param2Default"}// param will be array []params: { param1: { array: true }}// handling the default value in url:params: { param1: { value: "defaultId", squash: true} }// squash "defaultValue" to "~"params: { param1: { value: "defaultValue", squash: "~" } }EXTEND-工作示例:http :
//plnkr.co/edit/inFhDmP42AQyeUBmyIVl?p=info
这是状态定义的示例:
$stateProvider .state('home', { url: "/home", params : { veryLongParamHome: null, }, ... }) .state('parent', { url: "/parent", params : { veryLongParamParent: null, }, ... }) .state('parent.child', { url: "/child", params : { veryLongParamChild: null, }, ... })这可能是使用ui-sref的调用:
<a ui-sref="home({veryLongParamHome:'Home--f8d218ae-d998-4aa4-94ee-f27144a21238' })">home</a><a ui-sref="parent({ veryLongParamParent:'Parent--2852f22c-dc85-41af-9064-d365bc4fc822' })">parent</a><a ui-sref="parent.child({ veryLongParamParent:'Parent--0b2a585f-fcef-4462-b656-544e4575fca5', veryLongParamChild:'Child--f8d218ae-d998-4aa4-94ee-f27144a61238' })">parent.child</a>在这里查看示例



