關於ng路由的傳參問題(傳遞一個,多個參數)


在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
};


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM