EDYCJA: Dodano $ routeProvider i $ routeParams, ale $ routeParams.productId jest zawsze niezdefiniowane. To była moja pierwsza próba, ale pomyślałem, że to zła droga. W każdym razie to nie działa na razie.Kontroler AngularJS w zależności od parametru adresu URL:
Zaczynam się uczyć AngularJS i mam bardzo proste pytanie: W zależności od identyfikatora zawartego w URL, chciałbym wyświetlić inny rekord BD.
...
<div ng-app=MyApp>
<div ng-controller="MyCtrl">
{{ record }}
</div>
</div>
...
Mój plik JavaScript:
var MyApp = angular.module("MyApp",[]);
MyApp.config(['$routeProvider', function($routeProvider) {
$routeProvider
.when('/get/:productId', {
controller: 'MyCtrl'
});
}])
MyApp.controller('MyCtrl',['$scope','$routeParams','$http',
function($scope,$routeParams,$http) {
$http.get("/get/"+$routeParams.productId).success(function(data) {
$scope.record = data;
});
}])
Próbowałem użyć $ i $ routeParams routeProvider bez powodzenia.
Dziękuję z góry, Bill
To zupełnie możliwe, że „get” w twoja ścieżka ma kolizję nazw, ponieważ jest to również czasownik HTTP i metoda $ http. – jpsimons