我们使用此条款在AngularJS中附加Id
.when(
'/fundingRequirements/:id',
{
templateUrl : '/views/dashboard/crowdFunding/planningFunding.html',
controller : 'planningFunding'
})
然后在Controller中使用了这个
$location.path("/fundingRequirements/"+data.data)
现在出现问题,首先是保存,然后在服务器上生成Id。因此,在此URL中,URL中没有Id,在第二种情况下,它是编辑,所以那时需要Id网址。我们是否需要制作另一个URL,或者在这两种情况下都有使用相同URL的方法?
注 - HTML表单,控制器,服务器站点所有方法对于这两种操作都是相同的,即保存,编辑
答案 0 :(得分:1)
关注Angular's documentation,您可以通过定义所有路线来完美实现这一目标。事实上,Angular似乎评估了定义与实际URL相比的最长路径。
您可以在此处找到说明这一点的my modifications of Angular's example plunker。
.when('/Book', {
templateUrl: 'bookroot.html',
controller: 'BookController'
})
我刚添加了此路线,一个任意bookroot.html
模板以及指向主模板顶部/Book
的链接。您将看到该链接以及其他链接正常工作。
为了总结,此示例包含以下组合参数化网址:
/Book
/Book/:bookId
/Book/:bookId/ch/:chapterId
答案 1 :(得分:0)
从我收集的内容中,您想要为同一个网址重定向两个不同的视图。您可能希望将ui-router用于此目的。它是一个先进的角度路由库,提供了角度默认的ng-route服务的全部功能。
您可以尝试这样的事情:
$stateProvider.state('saveOrEdit', {
url:'/fundingRequirements/:id',
templateUrl: ['$stateParams', function ($stateParams) {
var id = $stateParamas.id
if (id) {
return //Template URL for edit state
} else {
return //Template URL for save state;
}
]
})
P.S:我不确定,但这也适用于ng-route。