我继承了一些AngularJS代码。它有这个向AngulrJS控制器添加依赖关系
function MainCtrl($scope)
{
// code goes here
};
angular
.module('inspinia')
.controller('MainCtrl', MainCtrl)
现在我想添加一个自定义控制器,它将datepicker和timepicker组合到一个控件中。 GitHub项目是here,并且有一个演示Plunk here。
演示朋克宣布其为
var app = angular.module('app', ['ui.bootstrap', 'ui.bootstrap.datetimepicker']);
app.controller('MyController', ['$scope', function($scope) {
控制器我如何添加到我的现有控制器?联合声明是什么?最好是我可以在我的ng-app
上使用ng-stricti-di
。
[更新]这里是我最好的猜测,我不能测试,直到我在10个小时左右回家。它看起来如何?
var myApp=angular.module('myApp', ['$scope','ui.bootstrap','ui.bootstrap.datetimepicker']);
myApp.controller('MainCtrl', function($scope)
{
// code goes here, and can use ui.bootstrap and ui.bootstrap.datetimepicker
// which were injected into the app's module
}]);
[更新2当我将其更改为
angular
.module('inspinia' ['ui.bootstrap', 'ui.bootstrap.datetimepicker'])
.controller('MainCtrl', MainCtrl)
我得到
错误:[$注射器:NOMOD] http://errors.angularjs.org/1.5.0/ $喷油器/ NOMOD P0 = undefinedError? [$ injector:nomod] http://errors.angularjs.org/1.5.0/ $ injector/nomod?p0 = undefined
Despue inde x.html有
<script src="js/bootstrap/bootstrap.min.js"></script>
如何获得此项目使用ui boostrap及其datetpicker?
这个问题似乎并不十分清楚。是否有原因不能将相同的依赖关系添加到应用程序中?你在某处遇到错误吗? –
我太喜欢noob了。这两种似乎混合搭配风格。如果它很简单,你能告诉我怎么做?谢谢! – Mawg
'ui.bootstrap'和'ui.bootstrap.datetimepicker'都是模块。这意味着它们只能被注入到其他模块中(在你的例子中是'MyApp'或'inspinia')。根据我目前看到的所有内容,根本不需要改变控制器。在这里阅读模块:https://docs.angularjs.org/guide/module –