angularJS:功能中的功能

时间:2016-01-15 09:24:21

标签: angularjs

您好我是angularJS的新手。是否适用于函数内部的函数?

例如: -

$scope.loadDistrict = function(id) {
  // statement
  $scope.loadBasedOnYear = function(y_id) {
    console.log(y_id);
    // statement
  };
};

3 个答案:

答案 0 :(得分:3)

如果在范围上绑定方法,则可以从视图中获取。

从您的代码中

$scope.loadDistrict = function(id) {
  // statement
  $scope.loadBasedOnYear = function(y_id) {
    console.log(y_id);
    // statement
  };
};
在调用loadBasedOnYear之前,

loadDistrict将无法使用。

这是非常糟糕的模式。

答案 1 :(得分:0)

这是可能的但没有上下文我不知道你为什么会这样做,在调用user_id之前调用$scope.loadBasedOnYear会导致错误,所以要小心这样的设计模式。

答案 2 :(得分:0)

是的,这很好。

您应该注意函数何时在角度周期之外执行。例如。如果你这样做:

setTimeout(function() { $scope.test = 5; }, 1000);

如果你需要这样做,那么你需要将函数包装在$ scope。$ apply()中,或者使用$ timeout。