有关angular.js中DI的一些问题

我正在练习DI,并尝试在angular.js.中进行模块化。我已经搜索了一些教程并尝试对其进行重新编码。

我最初的计划如下(我可能有错误的概念,请帮忙指出):

  • 一个ng-app:myapp;

    带有工厂服务的模块“finance2”:“currencyConverter”;

    angular.module('finance2', []).factory('currencyConverter', function() {

    带控制器的模块“ctrl1”:InvoiceController。 然后我将服务模块注入它

    angular.module('ctrl1',['finance2']).controller('InvoiceController', ['currencyConverter', '$scope',function(currencyConverter,$scope) {
  • 然后我将控制器模块注入应用程序
     var app = angular.module("switchableGrid",['ctrl1']);
  • 这是完整的代码,jsfiddle.net / c7fF3 / 1 /,

    但没有任何事情发生,有人能给我一个提示吗?非常感谢。


    对于你的小提琴,我将框架和扩展部分的第二个下拉列表更改为“no-wrap in body”,我看到没有例外被记录。

    另外如果你使用控制器作为语法,你应该使用

    this.currencies = currencyConverter.currencies;

    代替

    $scope.currencies = currencyConverter.currencies;


    你正在使用ng-app="myapp"但你的应用程序实际上是一个名为switchableGrid的模块

    或者将标记更改为

    <body ng-app="switchableGrid">
    

    或将脚本更改为

    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;
        }])
    
    链接地址: http://www.djcxy.com/p/13629.html

    上一篇: Some problems about DI in angular.js

    下一篇: Should I use `this` or `$scope`?