0

我定义了一个控制器及其功能:

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

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

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

“???” 是我在挣扎。

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

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

4

2 回答 2

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();
}
于 2013-10-19T08:22:00.860 回答
0

这个问题特别发生在 AngularJS 中,在控制器和指令中。不知道为什么他们选择劫持this,当有各种依赖注入选项时......矫枉过正。

于 2013-10-28T11:10:50.900 回答