【问题标题】:losing scope in controller via factory通过工厂失去控制器范围
【发布时间】:2015-07-27 20:37:34
【问题描述】:

我遇到了以下问题,我在控制器中丢失了范围变量(电影)(使用工厂方法)。如果我在函数外部设置变量,一切正常(LOOL 电影)。有人可以帮忙吗?

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

这里是问题的plnkr

非常感谢。

【问题讨论】:

    标签: angularjs service scope factory directive


    【解决方案1】:

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

    在指令中使用 watch 来了解值何时更改

      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
            })
          }
      };
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-12-28
      • 1970-01-01
      • 2015-03-20
      • 2013-07-15
      • 1970-01-01
      • 2013-07-15
      • 1970-01-01
      相关资源
      最近更新 更多