2017-10-20 61 views
0

我试图用这个函数内部范围,但它似乎不工作。我应该在哪里放置参数$ scope。

谢谢

这里是我把主线的代码,反映了结构的结构:

myApp.controller('myCtrl', ['$scope','Fact', function($scope,Fact) { 
    $scope.myFunc = function() { 

     Fact.init(beamNumber,function(){ 
     polygonsBeam[ list.length - 1- i].addListener('click',function(e) { 
      console.log($scope.db) 
      $scope.db = 20 
      console.log(list[list.length - 1 - polygonsBeam.indexOf(this)]); 
     }); 
     }); 
    }; 
}]); 
+0

什么是上下文?这是在一些控制器内?如果是这样,你是否注入了$ scope? –

+0

感谢您的回答。是的,它是一个控制器 myApp.controller( 'myCtrl',[ '$范围', '事实',函数($范围,事实){ ... –

+0

里面我觉得我没注入 –

回答

1

我不知道是什么Fact.init是干什么的,但如果你看到你的console.log但$ scope.db似乎没有更新,请尝试:

$scope.$apply(function(){ 
    $scope.db = 20 
}) 

https://docs.angularjs.org/api/ng/type/ $ rootScope.Scope#$适用

$申请()是用来从 的AngularJS框架之外执行在AngularJS的表达式。 (例如,从浏览器DOM事件, setTimeout,XHR或第三方库)

+0

非常感谢您的帮助。它的工作。我很感激:) –

+0

竭诚为您服务!如果有帮助,请接受答案。 – Thierry

+0

其实,如果我想在我的函数中使用一个全局变量而不是事件中声明的呢? $ scope.db = myglobalVariable –