如何在角度控制器中注入一个值

时间:2014-11-30 01:56:34

标签: angularjs

我似乎无法将定义的值注入控制器。我已经浏览了角度文档和许多其他博客 - 但显然我在这里弄乱了一些关键的东西。

myapp = angular.module('MYAPP', ['ngRoute'])
.run(function () {
    console.info("Hello MYAPP");
});
myapp.value("vx1", "placeholder for vx1");

并在控制器中

myapp.controller("MainCtlr", ["vx1", "ovEnv", function($scope, $timeout, vx1, ovEnv){
    console.info("ctor MainCtlr env=", ovEnv, "; vx1=", vx1);
    ...

但我总是undefined获得vx1

1 个答案:

答案 0 :(得分:2)

["vx1", "ovEnv", function($scope, $timeout, vx1, ovEnv){

这两个序列必须相同。如果您删除["..]数组部分并离开function(...) {

,会发生什么情况

像这样: myapp.controller("MainCtlr", function($scope, $timeout, vx1, ovEnv) { ... })

["$scope", "$timeout", "vx1", "ovEnv", function($scope, $timeout, vx1, ovEnv)(见评论)

更多信息here

  

内联数组注释

     

这是注释的首选方式   应用组件。这是文档中的示例   写的。

     

例如:

     

someModule.controller('MyController', ['$scope', 'greeter', function($scope, greeter) { // ... }]);