如何在网址中将url: '/add/{id}'
的网址重命名为url: '/add'
。我不想在网址中显示我的ID。如何从AngularJs中的url中删除id?
我的代码:
.state('app.useredit', {
url: '/user-edit/:userId',
data: {
auth: true
},
views: {
'main@app': {
template: '<user-edit></user-edit>'
}
},
答案 0 :(得分:1)
您需要使用params
:
像这样:
.state('app.useredit', {
url: '/user-edit',
params: {
userId:null
}
data: {
auth: true
},
views: {
'main@app': {
template: '<user-edit></user-edit>'
}
},
和
$state.go('app.useredit',{userId:'u123'})
答案 1 :(得分:0)
要不在网址中公开ID,请使用服务来保存&#34; id&#34;在里面并通过控制器抓住它。
Here is a related answer: "Hide param value (guid) in an URL"
答案 2 :(得分:0)
您可以创建set
和get
id
的服务,然后在控制器中注入该服务以获取该ID。
服务:
app.service('setGetId', function() {
var id = '';
getId: function() { return id; },
setId: function(requestId) { id = requestId; }
});
控制器:
app.controller('myCtrl1', ['setGetId',function(setGetId) {
// To set the id from the one controller
setGetId.setId(id);
}]);
app.controller('myCtrl2', ['setGetId',function(setGetId) {
// To get the id from the another controller
setGetId.getId();
}]);