angularjs:如何将依赖项注入控制器

时间:2017-07-03 19:37:40

标签: angularjs mvvm dependency-injection dependencies

我尝试将依赖项注入控制器。我尝试通过一个数组,通过内联匿名函数传递依赖项,并使用控制器。$ inject。什么都行不通,我准备爆炸了。

大多数提及依赖注入的博客和文章都显示了一个简单的例子,代码传递$ scope和依赖....但是当我尝试复制代码示例时,没有任何作用。

我有些遗失的东西。我是否必须实例化依赖项或如何传递依赖项?

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

function MyViewModel() {
    this.theRightAnswer = 'The answer is 42';
}

myApp.controller('myController', ['$scope', 'MyViewModel', function ($scope, MyViewModel) {
        $scope.theAnswer = MyViewModel.theRightAnswer;
    }]);

1 个答案:

答案 0 :(得分:0)

使用服务/工厂/提供商,&然后通过依赖注入,您可以在不同的控制器中共享功能。在您的代码中添加以下行&它将按预期工作。

myApp.service('MyViewModel', MyViewModel);

http://plnkr.co/edit/7ZclGB93Soq5Ce8pFmkQ?p=preview