从未调用init scope watch之后(ui-router)

时间:2014-12-13 10:04:07

标签: javascript angularjs scope angularjs-scope

我访问了一个页面:

<div ng-if='$stateParams.show=="previous"'>
        From
        <input type="text" ng-model="year_from" />
        <br/>
        To
        <input type="text" ng-model="year_to" />
    </div>

我的控制器中的脚本是:

module.exports = function(){
  $scope.year_from = '2014';
  $scope.$watch( 'year_from', function(v) {
    console.log(v);
    console.log('from');
    $scope.get_previous_reports();
  });
}

我只得到var v的定义一次,它的2014年以及from字符串记录了一次,而另一个函数从未被调用过。我错过了什么?

1 个答案:

答案 0 :(得分:0)

我花了很长时间才弄清楚,如果你在div上有一个ng-if然后有一些ng-model(我假设其他指令),那个范围会在if语句下发生变化。该范围变为什么?我不知道。我所知道的是,我可以通过$ parent调用来访问我的内容。