$routeParams在传递到新视图时未定义&控制器
$routeParams undefined when passing to new view & controller
这里是AngularJS和WebAPI的新手,最好的学习方式是动手。如果这个问题看起来很简单,请提前道歉——我花了一天时间浏览了StackOverflow,并尝试了所有内容。
我目前有一个单独的主&局部视图,两者都有自己的控制器。我正试图将所选的ID传递给Details控制器,这样我就可以使用该ID查询我的数据库,尽管我的$routeParams上出现了"未定义"。我不确定我是否错过了一些简单的东西,或者我是否正确地处理了这个问题。
当我注入"$routeParams"时,控制器似乎也不喜欢它。
我的app.js模块:
var app = angular.module("ProjectDashboardModule", ["ngRoute"]);
app.config(['$routeProvider', '$locationProvider', function ($routeProvider, $locationProvider) {
$routeProvider
.when("/", { templateUrl: "/Home/Index" })
.when("/Project", { templateUrl: '/Project/Index', controller: 'ProjectCrudController' })
.when("/Project/project/:id", {templateUrl:'/Project/project', controller: 'ProjectTaskController' });
$routeProvider.otherwise({redirectTo: '/home' });
$locationProvider.html5Mode(true);
}]);
myFactory.js:
app.factory('projectFactory', ['$http', function ($http) {
var urlBase = '/api/Projects/';
var projectFactory = {};
projectFactory.getProjects = function () {
return $http.get(urlBase);
};
projectFactory.getSingleProject = function (id) {
return $http.get(urlBase + '/' + id);
};
return projectFactory;
}]);
我的ProjectTaskController.js:
app.controller('ProjectTaskController', ['$scope', "$routeParams", 'projectFactory', function ($scope, $routeParams, projectFactory) {
alert($routeParams.id)
$scope.project;
$scope.message;
getProjectById($routeParams.id);
function getProjectById(id) {
projectFactory.getSingleProject(id)
.success(function (data) {
$scope.project = data;
})
.error(function (error) {
$scope.message = 'error retrieving project ' + error.message;
});
}
}]);
我发现我的问题是所有有角度的脚本引用都分散了。我将所有自定义脚本引用(控制器、工厂、模块)移到了index.cshtml,并修复了这个问题。
相关文章:
- 为什么“;未定义的“;在JavaScript中结束循环
- 要求未定义JS回调参数
- 如何检查管道中未定义的项目
- TypeError:无法读取属性'推'未定义的JavaScript
- $window.ga在AngularJS事件中未定义
- 未捕获的TypeError无法读取未定义的属性socialsharing
- $routeParams在传递到新视图时未定义&控制器
- 为什么&此脚本返回的位置未定义
- HTML&JavaScript未捕获引用错误:未定义addTable
- 为什么ecmascript5说&&如果任一操作数未定义,逻辑运算符将引发ReferenceError异常
- 揭示模块模式&变量范围->异步调用返回后未定义公共对象
- Ajax从JSON返回未定义-登录系统&最佳实践
- 使用JavaScript&CSS-无法读取属性'长度'的未定义
- 未定义的子程序&main::ThrowTemplateError
- Node.js&MongoDB:为什么数据库对象未定义
- 回调&操作数组,但返回未定义的数组
- Cordova&SQLite-所有行项目返回为'未定义'
- 语法错误&函数未定义
- 拖动&Drop不起作用:'dropEffect'的未定义
- JavaScript&谷歌地图-未捕获类型错误:无法读取属性'__e3_'的未定义