在ng的頁面條轉傳參數的方法,ui-sref,$state
Ui-sref:用於html頁面進行單頁面的跳轉
$state:用於js代碼中跳轉
重點:明確傳遞方,接受方
[傳遞單個參數]
對於傳遞方:
傳遞方:ui-sref="home.ideas.edit({id:detailIdeas[0].idea.id})
或者:$state.go(home.ideas.edit,{id: detailIdeas[0].idea.id });
對於接受方:
.state('home.ideas.edit', {//編輯創意
url: '/detailsEdit/:id',
views: {
"part": {
templateUrl: 'tpls/ideas/edit.html',
controller:"ideas_edit_ctrl"
}
}
})
使用:
在ideas_edit_ctrl控制器中,我們可以直接使用$state.params 來獲取我們傳遞的參數
(要先注入$state)
var idx={
ideaID:$state.params.id
};
[傳遞多個參數]($state)
其實傳遞參數的本質都是一樣的,對於傳遞多個參數的我我們可以將多個參數組成一個對象,然后將這個對象轉換成字符串,將字符串傳遞過去。
Em:
使用$state.go()傳遞多個參數;
對於傳遞方:
User_info={ name:’菱角’, age:15, skill:’angular’ };
$state.go("home.ideas.allIdeas",{user_right:JSON.stringify(user_info});
對於接受方:(還是保持不變)
.state('home.ideas.allIdeas', {//全部創意
url: '/allIdeas/:user_right',
views: {
"part": {
templateUrl: 'tpls/ideas/all_idea_list.html',
controller:'ideas_allIdeas_ctrl'
}
}
})
使用:
在ideas_allIdeas_ctrl控制器中
var user_right=JSON.parse($state.params.user_right);
user_right的結構:
user_right={ name:’菱角’, age:15, skill:’angular’}
使用:ui-sref傳遞多個參數:
傳遞方:
<button ui-sref="home.ideas.edit({id:detailIdeas[0].idea.id,name:detailIdeas[0].idea.id.name})">go edit</button>
接受方:
.state('home.ideas.edit', {//編輯創意
url: '/detailsEdit?id&name',
views: {
"part": {
templateUrl: 'tpls/ideas/edit.html',
controller:"ideas_edit_ctrl"
}
}
})
在ideas_edit_ctrl控制器中,我們可以直接使用$state.params 來獲取我們傳遞的參數(要先注入$state)
var idx={
ideaID:$state.params.id
ideaName:$state.params.name
};
