Javascript 关于angular.js中DI的几个问题
我正在练习DI,并尝试在angular.js中实现模块化。我已经搜索了一些教程,并尝试重新编码 我最初的计划如下(我可能有错误的概念,请帮助指出):Javascript 关于angular.js中DI的几个问题,javascript,angularjs,Javascript,Angularjs,我正在练习DI,并尝试在angular.js中实现模块化。我已经搜索了一些教程,并尝试重新编码 我最初的计划如下(我可能有错误的概念,请帮助指出): 一个ng应用程序:myapp 带有工厂服务的模块“finance2”:“currencyConverter” angular.module('finance2',[]).factory('currencyConverter',function(){ 一个带有控制器的模块“ctrl1”:InvoiceController。然后我将服务模块注入其中 a
但是什么也没发生,有人能给我一个提示吗?非常感谢。对于您的小提琴,我将框架和扩展部分的第二个下拉列表更改为“无包裹体”,并且我没有看到异常被记录 另外,如果您使用控制器作为语法,则应该使用
this.currences=currencyConverter.currences;
而不是
$scope.currences=currencyConverter.currences;
您使用的是ng app=“myapp”
,但您的应用程序实际上是一个名为switchableGrid的模块
将标记更改为
<body ng-app="switchableGrid">
这样试试
angular.module('app', [])
.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when('/xxx', { templateUrl: 'app/xxx.html', controller: 'xxxCtrl' })
}])
.factory(
'currencyConverter',
function ($resource) {
return $resource(URL);
})
.controller('xxxCtrl', ['$scope', '$http', '$routeParams', '$route', function ($scope, $http, $routeParams, $route) {
$scope.currencies = currencyConverter.currencies;
}])
我非常确定您不能将一个模块注入另一个模块。您可以注入指令、工厂、服务等。您可能需要阅读AngularJS的指南。@Adam这不是注入,而是声明对另一个模块的依赖关系,这在Angular中是绝对可能的,还有@Chandermani提供的建议,您已经指定了为ng app
安装了一个不存在的模块。下面是我快速编辑的JSFIDLE的一个修改版本:angular尝试引导不存在的模块时,您怎么能看不到异常?
angular.module('myapp', ['ctrl1']);
angular.module('app', [])
.config(['$routeProvider', function ($routeProvider) {
$routeProvider
.when('/xxx', { templateUrl: 'app/xxx.html', controller: 'xxxCtrl' })
}])
.factory(
'currencyConverter',
function ($resource) {
return $resource(URL);
})
.controller('xxxCtrl', ['$scope', '$http', '$routeParams', '$route', function ($scope, $http, $routeParams, $route) {
$scope.currencies = currencyConverter.currencies;
}])