我正在为REST服务构建前端应用程序,并且大多数资源位于长网址,其中大多数细分是动态的,基于用户在应用程序中创建的记录.显然,我无法知道或创建大多数这些记录的硬编码路线.
我想我的问题是如何用ui-router处理这样的网址:
<学期> /<程序> /<类> /注册 要么 <学期> / myclasses /<类> /分配 每个资源URL中始终至少有一个静态的,可预测的段,并且段始终处于可预测的顺序. 我是否为URL中的每个段创建抽象状态,如:
$stateProvider.state(semester) .state(program) .state(class) .state(assignments);
??
我尝试过构建如下所示的路线:
param = { name: "param",url: "/:hue/:temp/param",templateUrl: "http://localhost:81/route/tpl/param.tpl.html",controller: "paramController" };
但是当我链接到“param”状态时,它最终会将我送回.otherwise()状态.
谢谢你的帮助,我有点难过.
解决方法
我有类似的问题,我很快编写了这个:
.config(function($stateProvider,$urlRouterProvider) { $stateProvider.state('app',{ url : "/app",abstract : true,templateUrl : "layout/navigation-drawer.tpl.html" }).state('app.help',{ url : "/help",views : { 'menuContent' : { templateUrl : "layout/help.html" } } }).state('app.settings',{ url : "/settings",views : { 'menuContent' : { templateUrl : "layout/settings.html" } } }).state('app.rate-us',{ url : "/rate-us",views : { 'menuContent' : { templateUrl : "layout/rate-us.html" } } }).state('app.projects',{ url : "/projects",views : { 'menuContent' : { templateUrl : "layout/projects.html",controller : 'ProjectsCtrl' } } }).state('app.forms',{ url : "/:project_name/forms",views : { 'menuContent' : { templateUrl : "layout/forms.html",controller : 'FormsCtrl' } } }).state('app.entries',{ url : "/:project_name/:form_name/entries/:form_id",views : { 'menuContent' : { templateUrl : "layout/entries.html",controller : 'EntriesCtrl' } } });
工作正常,“/:project_name /:form_name / entries /:form_id”将解析为app / Mirko_test / University / entries / 1