1

我在 Angular js 中设置控制器时遇到问题。

我想使用 angular-google-maps ( http://nlaplante.github.io/angular-google-maps/#!/usage )

我有这样的角度控制器:

'使用严格';

angular.module('myApp', ["google-maps"])
    .controller('MainCtrl', [function ($scope) {

    }])
    .controller('MapCtrl', [function ($scope) {

        angular.extend($scope, {
            center: {
                latitude: 0, // initial map center latitude
                longitude: 0, // initial map center longitude
            },
            markers: [], // an array of markers,
            zoom: 8, // the zoom level
        });
    }]);

但这不起作用。这就是我得到的: Cannot set property 'center' of undefined 设置控制器的正确方法是什么?

4

1 回答 1

3

看起来您缺少 DI 控制器的一部分。通过在函数之前添加一串依赖项来更改您的控制器。在这种情况下只是$scope.

.controller('MapCtrl', ['$scope', function ($scope) {    //<-- please note the first '$scope'

    angular.extend($scope, {
        center: {
            latitude: 0, // initial map center latitude
            longitude: 0, // initial map center longitude
        },
        markers: [], // an array of markers,
        zoom: 8, // the zoom level
    });
}]);

工作 Plunkr: http ://plnkr.co/edit/5mdRdrOLRkW6PuLuH3Cv

于 2013-05-20T22:40:33.957 回答