如何使用'this'关键字在angularjs控制器中使用whiting另一个函数来访问函数

时间:2013-10-18 16:40:02

标签: function angularjs controller

我用一个函数定义一个控制器:

myApp.controller "SomeCtrl", ($scope) ->

 @go = (text) ->
   console.log(text)

 @go2 = () ->
   ??go('test')

'??'是我挣扎的。

如果我将这些函数分配给$ scope,那么可以使用$ scope.go()。 在这种情况下,我怎样才能实现相同的目标?

http://jsfiddle.net/K7aPq/10/

2 个答案:

答案 0 :(得分:0)

不确定为什么它不适合你。如果我使用普通的Javascript,它的工作原理。这是一个小提琴:http://jsfiddle.net/dafoo/K7aPq/2/

function MyCtrl($scope) {
    function foo1 (argument) {
      console.log('foo1');
      console.log(argument);
    };

    function foo2 () {
      console.log('foo2');
      foo1('test');
    };

    foo2();
}

答案 1 :(得分:0)

在AngularJS中,控制器和指令中特别出现此问题。不确定为什么他们选择劫持this,当有各种依赖注入选项时......过度杀伤。