角$ routeProvider:为什么CRUD新的路线不工作? [英] Angular $routeProvider: Why does CRUD new route not work?
问题描述
我要建REST风格的CRUD操作的角度应用程序。几乎一切工作除了 /用户/新
路线〜它显示的显示的视图代替的指定新的的看法在$ routeProvider。然而,/新
确实工作。我没有收到在JS控制台任何反馈。任何想法或例子我应该读?
的App.config [
'$ routeProvider
'$ locationProvider ($ routeProvider,$ locationProvider,配置) - GT;
$ routeProvider
。什么时候('/',
templateUrl:/partials/home.html
)。当('/用户,
templateUrl:'谐音/用户/ index.html的
控制器:'UserIndexCtrl
)。当('/用户/:身份证',
templateUrl:'谐音/用户/ show.html
控制器:'UserShowCtrl
)。当('/用户/:ID /编辑',
templateUrl:'谐音/用户/ edit.html
控制器:'UserEditCtrl
#为什么以下不工作:
)。当('/用户/新,
templateUrl:'谐音/用户/ new.html
控制器:'UserNewCtrl
#但是这并不:
)。当('/新,
templateUrl:'谐音/用户/ new.html
控制器:'UserNewCtrl
)。否则(redirectTo:'/')
$ locationProvider.html5Mode(真)
]
在$ routeProvider尝试从TOP定义BOTTOM测试URL模式。
所以URL模式 /用户/新
匹配 /用户/:ID
之前定义的第三个 /用户/新
定义第5位。
如果你定义 /用户/新
在 /用户/:ID
,我期望它会正常工作
在code应该像下面。
的App.config [
'$ routeProvider
'$ locationProvider ($ routeProvider,$ locationProvider,配置) - GT;
$ routeProvider
。什么时候('/',
templateUrl:/partials/home.html
)。当('/用户,
templateUrl:'谐音/用户/ index.html的
控制器:'UserIndexCtrl
#你之前应该写'/用户/:身份证'
)。当('/用户/新,
templateUrl:'谐音/用户/ new.html
控制器:'UserNewCtrl
)。当('/用户/:身份证',
templateUrl:'谐音/用户/ show.html
控制器:'UserShowCtrl
)。当('/用户/:ID /编辑',
templateUrl:'谐音/用户/ edit.html
控制器:'UserEditCtrl
)。当('/新,
templateUrl:'谐音/用户/ new.html
控制器:'UserNewCtrl
)。否则(redirectTo:'/')
$ locationProvider.html5Mode(真)
]
I'm building an Angular app with RESTful CRUD actions. Almost everything is working except for the /users/new
route ~ it displays the show view instead of new view specified in $routeProvider. However, '/new'
does work. I'm not getting any feedback in the js console. Any ideas or examples I should read?
App.config [
'$routeProvider'
'$locationProvider'
($routeProvider, $locationProvider, config) ->
$routeProvider
.when('/',
templateUrl: '/partials/home.html'
).when('/users',
templateUrl: 'partials/users/index.html'
controller: 'UserIndexCtrl'
).when('/users/:id',
templateUrl: 'partials/users/show.html'
controller: 'UserShowCtrl'
).when('/users/:id/edit',
templateUrl: 'partials/users/edit.html'
controller: 'UserEditCtrl'
# why does following not work:
).when('/users/new',
templateUrl: 'partials/users/new.html'
controller: 'UserNewCtrl'
# but this does:
).when('/new',
templateUrl: 'partials/users/new.html'
controller: 'UserNewCtrl'
).otherwise(redirectTo: '/')
$locationProvider.html5Mode(true)
]
The $routeProvider try to test url pattern defined from TOP to BOTTOM.
So the URL pattern /users/new
match /users/:id
defined 3rd before /users/new
defined 5th.
If you define /users/new
before /users/:id
, I expect that it would work properly.
The code should be like below.
App.config [
'$routeProvider'
'$locationProvider'
($routeProvider, $locationProvider, config) ->
$routeProvider
.when('/',
templateUrl: '/partials/home.html'
).when('/users',
templateUrl: 'partials/users/index.html'
controller: 'UserIndexCtrl'
# you should write it before '/users/:id'
).when('/users/new',
templateUrl: 'partials/users/new.html'
controller: 'UserNewCtrl'
).when('/users/:id',
templateUrl: 'partials/users/show.html'
controller: 'UserShowCtrl'
).when('/users/:id/edit',
templateUrl: 'partials/users/edit.html'
controller: 'UserEditCtrl'
).when('/new',
templateUrl: 'partials/users/new.html'
controller: 'UserNewCtrl'
).otherwise(redirectTo: '/')
$locationProvider.html5Mode(true)
]
这篇关于角$ routeProvider:为什么CRUD新的路线不工作?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!