0

我正在尝试在我的 Angular 应用程序中创建子模块。我想为我拥有的每个文件(services.js、controllers.js、...)创建一个模块。我遇到的问题是,当我为每个创建一个时,引导停止工作。我有以下内容:

应用程序.js

angular.module('myApp', [
    'appSrv',
    'appCtrl'
]);

控制器.js

var appCtrl = angular.module('appCtrl', []);


appCtrl.controller('TodoCtrl', ['$scope', 'listener', 'pouchWrapper', function($scope, listener, pouchWrapper) {
    $scope.orderProp = 'text';

...
);

服务.js

var appSrv = angular.module('appSrv', []);

appSrv.value('version', '0.1');

appSrv.factory('myPouch', [function() {

...

);

索引.jade

doctype html
html(ng-app='myApp')
  head
    title=title
    link(rel='stylesheet' href='stylesheets/style.css')
    link(rel='stylesheet' href='bower_components/bootstrap/dist/css/bootstrap.css')
    script(type='text/javascript' src='javascripts/angular-1.3.0b7.min.js')
    script(type='text/javascript' src='javascripts/pouchdb-2.1.0.min.js')

    script(type="application/javascript" src="app/app.js")
    script(type="application/javascript" src="app/controllers.js")
    script(type="application/javascript" src="app/services.js")

但是当我尝试一个简单的操作时,比如1 + 2 = {{ 1 + 2 }}在我的索引中,我没有得到预期的结果。

难道我做错了什么?

谢谢!

4

2 回答 2

1

如果我没记错的话,问题是您在控制器和服务之前加载应用程序模块,尝试更改 HTML 中的顺序并将 app.js 放在最后:

script(type="application/javascript" src="app/controllers.js")
script(type="application/javascript" src="app/services.js")
script(type="application/javascript" src="app/app.js")
于 2014-05-04T09:16:36.300 回答
0

我认为控制器不需要注入 myApp 模块。

var TestCtrl = ['$scope', function ($scope, $) {
  $scope.orderProp = 'text';
}};

在您的 html 代码中,您可以使用 ng-controller="TestCtrl" 来注册它。

于 2014-05-04T09:12:55.080 回答