没有调用角度控制器

时间:2013-04-02 12:51:07

标签: c# javascript html asp.net-mvc angularjs

我是Angular.js的新手,并尝试让路由工作,但在我的应用程序中,第二个波纹管路径不会调用listController,所以我没有收到数据。

我已经通过了许多工作示例,但似乎无法解决为什么这不适用于我的应用程序?我将模板返回/Categories/SixGrid,但如上所述,控制器似乎没有被调用。 有什么明显的东西我没有做错吗?或者,任何人都可以分享他们为何可能无效的知识吗?

更新代码:

angular.module('App', ['App.Controller']).
    config(['$routeProvider', function ($routeProvider) {
        $routeProvider.when('/', { templateUrl: '/Home/Splash' });
        $routeProvider.when('/Categories/List/:slug', { templateUrl: '/Categories/SixGrid', controller:'listController' });
    }]);

angular.module('App.Controller', [])
    .controller("listController", function ($scope, $http) {
        $http.get('../../api/cat/' + $routeParams.slug).success(function (data) {
                    $scope.products = data;
                });
});

1 个答案:

答案 0 :(得分:5)

尝试将控制器名称包装在引号中:

$routeProvider.when('/Categories/List/:slug', {
    templateUrl: '/Categories/SixGrid',
    controller: 'listController'
});

同样好的做法是通过这种方式定义控制器(因为全局范围保持干净):

angular.module('App').controller("listController", function () {
    //controllerCode
});