2017-10-20 49 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 –