2013-01-10 24 views
7

DÜZENLEME: $ routeProvider ve $ routeParams eklendi, ancak $ routeParams.productId her zaman tanımsızdır. İlk denememdi, ama yanlış yol olduğunu düşündüm. Her neyse o an için çalışmıyor.URL parametresine bağlı olarak AngularJS Denetleyici

AngularJS'yi öğrenmeye başladım ve çok basit bir soru var: URL'de bulunan kimliğe bağlı olarak farklı BD kayıtlarını görüntülemek istiyorum.

... 
<div ng-app=MyApp> 
    <div ng-controller="MyCtrl"> 
    {{ record }} 
    </div> 
</div> 
... 

Benim JavaScript dosyası: Ben başarılı olamadı $ routeProvider ve $ routeParams kullanmaya çalıştı

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; 
    }); 
}]) 

.

size 2 şey gerekir, önceden Bill

+0

O içinde "get" bu tamamen mümkündür sahip geçerli rota oluşturmak Ayrıca bir HTTP fiil ve bir $ http yöntemi olduğundan, yolunuzun bir ad çakışması vardır. – jpsimons

cevap

10

teşekkür ederiz $ routeParams denetleyicinizdeki enjekte ve elde etme yöntemiyle

MyApp.controller('MyCtrl',['$scope','$http',"$routeParams", 
     function($scope,$http,$routeParams) { 
      $http.get("/get/"+$routeParams.productId).success(function(data) { 
       $scope.record = data; 
     }); 
    }; 
+0

Eksik olduğum şey, URL'de kullanılan yapıştırıcı bağlantı kimliğinin ve $ routeParams.productId öğesinin nasıl uygulanacağıdır. Başarı olmadan $ routeProvider.when ('/ get /: productId', {controller: 'MyCtrl'}) gibi bir şey denedim. – billdangerous

+0

routeProvider yapılandırmanız nerede? http://docs.angularjs.org/tutorial/step_07 – mpm

+0

$ routeProvider ile güncellendi – billdangerous

İlgili konular