當我在我的投資組合中選擇項目時,我的路線爲/portfolio/:workName
。在我的控制器中,我想將$scope.work
設置爲基於workName選擇的項目。這是我到目前爲止有:在Angular Factory中獲取屬性元素
app.factory('Works', function(){
var Works = {}
Works.projects =[
{
name : "ProjectOne",
string : "stuff",
{
name : "ProjectTwo",
string : "more stuff",
},
{
name : "ProjectThree",
string : "stuff",
}
];
Works.findByName = function(name) {
Works.projects.forEach(function(work) {
if(work.name == name) {
return work;
}
});
}
return Works;
})
app.controller("ProjectController", function ($scope, Works, $routeParams) {
$scope.work = Works.findByName($routeParams.workName);
});
然而,在調試器中,儘管$routeParams.workName
返回 「ProjectOne」,Works.findByName($routeParams.workName)
返回undefined。
你有沒有打過電話的console.log()的參數名稱,Works.projects和日誌裏面的每一個的工作。名稱。也嘗試使用angular.equals(work.name,name); – Matt