Неслучайно новый для AngularJS и WebAPI здесь, и цифра наилучшего способа обучения - это делать. Извиняюсь заранее, если этот вопрос кажется простым - я провел день, просматривая StackOverflow и пробовал их все.
В настоящее время у меня есть отдельный мастер & Подробный вид, как со своим контроллером. Я пытаюсь передать выбранный идентификатор до контроллера детали, поэтому я могу запросить мою базу данных с помощью идентификатора, хотя получаю «неопределенный» на моих $ 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);
}]);
мой Factory.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;
});
}
}]);
is '$ route.current.params.id' любой другой? – Ronnie
Same ... undefined :( – chickenricekid
У вас есть ' ', определенный в вашем index.html? –
Ronnie