【发布时间】:2016-02-18 20:56:06
【问题描述】:
我正在寻找一个伪代码答案,或概念性答案。
经过多年的编程,我从未创建过一个接收函数参数的类方法,以便方法的调用者自动访问“不可见”属性。
如果我尝试在 my_app.controller(...) 方法之外访问 $scope,我会收到一个错误,所以我知道它不是全局的;如果我尝试从my_app.$scope 或angular.$scope 访问它,我会得到未定义。
那么我的函数参数如何访问它:
my_app.controller('my_controller' , function( $scope , ... ) { ... }
更新(据我所知):
// javascript
var my_class = function( argument_A )
{ this.some_prop = argument_A ;
this.some_method = function( argument_B )
{ console.log( argument_B ) ; // function(boo)
} ;
} ;
var my_instance = new my_class( "my_string" ) ;
var my_function_argument = function( boo ){ } ;
my_instance.some_method( my_function_argument ) ;
【问题讨论】:
-
当控制器通过 ng-controller 指令附加到 DOM 时,Angular 将使用指定控制器的构造函数实例化一个新的控制器对象。将创建一个新的子作用域,并作为 $scope 的控制器构造函数的可注入参数提供。 docs.angularjs.org/guide/controller
-
我认为这是我的问题:如何创建一个“可注入参数”......也许我需要谷歌搜索它......但我想充分理解这个概念,这样我应该可以用任何其他语言做到这一点
-
这就是所谓的“依赖注入”,第一次体验时确实觉得很“神奇”。
标签: javascript angularjs oop