on enter controller call function angularJS

时间:2016-11-08 05:52:27

标签: javascript angularjs

问题是我需要每次路由更改到特定状态时调用一个函数,假设我有chatController并且我必须每秒触发一个()但是如果我退出控制器我必须停止a()当我回到chatController时我必须重新启动a()

我的代码:

$scope.stop = $interval(yourOperation, 1000);

  var dereg = $rootScope.$on('$locationChangeSuccess', function() {   
    $interval.cancel($scope.stop);
    dereg();
  });


  function yourOperation() {
    console.log('$location', $location.$$url)    
    console.log('test');
  }

精确执行每一个并在控制器更改时停止,但如果我回去它不再工作,我尝试使用ng-init()函数但只在控制器启动时第一次触发,我需要它总是当我在一个特定的控制器上时。

2 个答案:

答案 0 :(得分:1)

1]如果是状态,那么每次返回状态时都可以使用以下事件来调用函数

NaN

在这里,您可能需要在app.js状态声明

中添加以下属性
print (pd.to_numeric(df.two, errors='coerce'))
0     NaN
1     NaN
2     NaN
3     NaN
4     5.0
5     6.0
6     7.0
7     8.0
8     9.0
9    10.0
Name: two, dtype: float64

df['three'] = df.one == pd.to_numeric(df.two, errors='coerce')
print (df)
   one two  three
0    1   a  False
1    2   b  False
2    3   a  False
3    4   b  False
4    5   5   True
5    6   6   True
6    7   7   True
7    8   8   True
8    9   9   True
9   10  10   True

2]如果您使用模态,则控制器将自动初始化。

只需要调用如下的函数 -

df['three'] = df.one.eq(pd.to_numeric(df.two, errors='coerce'))
print (df)
   one two  three
0    1   a  False
1    2   b  False
2    3   a  False
3    4   b  False
4    5   5   True
5    6   6   True
6    7   7   True
7    8   8   True
8    9   9   True
9   10  10   True

答案 1 :(得分:0)

此代码必须在控制器中



// .... controller


$scope.stop = $interval(yourOperation, 1000);
    function yourOperation() {
        console.log('hi')
    }

$scope.$on('$destroy',function () {
        $interval.cancel($scope.stop);
    })