0

コントローラを正しく定義するには?

この形式の定義を使用したい:

「実際のアプリケーションでは、Angular モジュールの .controller メソッドを次のように使用する必要があります。」

myApp.controller('GreetingCtrl', ['$scope', function($scope) {
$scope.greeting = 'Hola!';
}]);

私のコード

    var project = angular.module('project', [])
        .config(function($routeProvider) {
        $routeProvider.
            when('/', {controller:'Ctrl1', templateUrl:'tabb_1.html'}).
            when('/tab1', {controller:'Ctrl1', templateUrl:'tabb_1.html'}).
            when('/tab2', {controller: 'Ctrl2', templateUrl:'tabb_2.html'}).
            when('/tab3', {controller: 'Ctrl3', templateUrl:'tabb_3.html'}).
            otherwise({redirectTo:'/'});
    });



project.controller('Ctrl1', '$scope', function(scope){

});

project.controller('Ctrl2','$scope', function(scope){

});

project.controller('Ctrl3', '$scope', function(scope){

});

「エラー: 引数 'Ctrl1' は関数ではありません。文字列を取得しました」 エラーはどこにありますか?

4

2 に答える 2

2

コントローラ コードの例では、コントローラを定義するためにブラケット表記を使用しています。この表記法は、本番コードを最小限に抑えたい場合に役立ちます。Angular に期待する依存関係を明示的に伝えます。コードでは、名前と関数の間の追加の $scope を削除するか、括弧を追加する必要があります。

ブラケットなし:

project.controller('Ctrl1', function($scope){

});

ブラケット付き:

project.controller('Ctrl1', ['$scope', function($scope){

}]);
于 2013-10-18T03:42:13.773 に答える
1

理解した。私は失いました '[]'

これが正しい方法です

project.controller('Ctrl1', ['$scope', function(scope){

}]);
于 2013-10-18T03:41:33.637 に答える