我试图在单独的文件中定义控制器,但出现错误:
transactionsController not a function got undefined
档案结构
我已按以下顺序添加了文件1- common.js 2-transactions.js
Common.js在我定义的通用文件中
var app = angular.module("spModule", ["ngMessages", "ui.bootstrap"]);
Transactions.js
angular.module('spModule').controller('transactionsController',
['$scope', '$http', function ($scope, $http) {} ]
);
HTML文件
<body ng-app="spModule" ng-controller="transactionsController">
首先,您应该摆脱全局app
变量。这不是必需的。其次,您必须了解该angular.module()
方法的原理。
使用angular.module()
具有两个参数(例如angular.module('my-module', [])
)将导致设定与其相应的依赖关系的新模块。相反,在使用angular.module('my-module')
相应模块时,将在内部查找相应模块并返回给调用方(get)。
首次定义应用程序时,可能只需要创建以下文件和结构。
app.js
angular.module('myApp', []);
FirstController.js
angular.module('myApp').controller('FirstController', function () {});
SecondController.js
angular.module('myApp').controller('SecondController', function () {});
如果现在按照这种特殊顺序将这些文件包括在html文档中(至少必须先添加app.js),则您的应用程序可以在两个单独的文件中使用两个单独的控制器正常工作。
我可以在模块上推荐AngularJS样式指南,以获取有关此主题的更多想法。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句