通过工厂失去控制器的范围

时间:2015-07-27 20:37:34

标签: angularjs service scope factory directive

我遇到以下问题,我在控制器中丢失了范围变量(电影)(使用工厂方法)。如果我将变量设置在函数之外,那么事情就会起作用(LOOL电影)。有人可以帮忙吗?

 film.getMovie().then(function (response) {
  $scope.movie = response;
  console.log(response);
}, function (error) {
  console.error(error);
});

以下是问题的plnkr

非常感谢。

1 个答案:

答案 0 :(得分:0)

http://plnkr.co/edit/OlQaLXO1GMvMMDJnaQul?p=preview

使用指令中的监视来了解值的更改时间

  app.directive('info', function () {
    return {
      template: '<div></div>',
      scope: {
          film: '='
      },
      restrict: 'E',
      link: function link(scope, element, attrs) {
        scope.$watch('film',function(){

          console.log("Scope: " , scope);
          console.log("Film:", scope.film); // GRRRRRR
        })
      }
  };
});