2016-05-11 3 views
0

Я использую угловые js в одном из моих проектов. Я очень новичок в угловой, и следующая ошибка заставляет меня больше смущать использование углового.

У меня есть функция Js

function ShowHideEditOptions(id) { 
      var editOptions = document.getElementById("editOptions"); 
      editOptions.style.display = "block"; 
      selectedNodeId = id; 

InitializeMapForSelectedNode(); 

     } 

Я хочу, чтобы вызвать InitializeMapForSelectedNode(); угловую функцию в моей ShowHideEditOptions(id){} функции.

Возможно ли это ???

, когда я делаю это он дает мне ошибку говоря $ Прицел неопределенными

это мой угловой контроллер ввиду

<script> 
    var app = angular.module('app', ['kendo.directives']); 
    var selectedNodeId = ""; 
    app.controller("locationController", function ($compile, $scope, $log, $timeout) {  

$scope.InitializeMapForSelectedNode = function() { 
       InitializeMapForSelectedNode($scope); 
      } 


    }); 
</script> 

и угловая функция

function InitializeMapForSelectedNode($scope) { 

    var locations = $scope.MeterList; // this is where the error occur 

    ..... 
} 

эта функция используется ранее привязанная переменная $ scope.MeterList variable.this, где ошибка огня обнаруживает $ scope - неопределенная ошибка.

+0

Да, это возможно, но не recomeneded, если у вас есть веские основания. – dfsq

+0

Вы не передаете значение параметра $ scope в функцию 'function InitializeMapForSelectedNode ($ scope)', поэтому она будет 'undefined' yes. – Arg0n

+0

Вы могли бы реплицировать то же самое на плункер, http://plnkr.co – dreamweiver

ответ

0

Try по телефону с $scope

<script> 
var app = angular.module('app', ['kendo.directives']); 
var selectedNodeId = ""; 
app.controller("locationController", function ($compile, $scope, $log, $timeout) {  

$scope.InitializeMapForSelectedNode = function() { 
      $scope.InitializeMapForSelectedNode(); 
     } 


}); 

+0

Он также мог попробовать с 'while (true) {}' – Arg0n