2016-03-23 2 views
2

Я пытаюсь получить доступ к переменным $ области видимости из ipcRenderer осуществляется под угловым контроллером, как этот

angular 
     .module('app',[]) 
     .controller('inputsController',function ($scope){ 

      var ipcRenderer = require("electron").ipcRenderer; 
       ipcRenderer.on('my-Response',function(event,data){ 
        $scope.inputs = data; 
       }); 
       $scope.test = 'some value'; 
       console.log('test value : ' + $scope.test); //prints some valuee 
       console.log('inputs value : ' + $scope.inputs);// undefined 
     }); 

В HTML-странице Я пытаюсь получить доступ данные $ область применения, как это:

<body ng-app="app"> 
    <div ng-controller="inputsController" class="container"> 
     test: {{test}} 
     inputs: {{inputs}} 
    </div> 
</body> 

Результаты журнала показывает, что значение $ scope.inputs не определено, поэтому значение не связано на этой странице.

Моя первоначальная мысль заключалась в том, что, поскольку у нас есть доступная от контроллера область (которая вводится как параметр), мы должны использовать ее для привязанных значений, таких как $ scope.input, а затем привязать ее к странице . Однако это, похоже, не ведет себя так, как ожидалось.

Есть ли что-нибудь, что мне не хватает здесь, или мой подход к тому, чтобы ipc внутри углового контроллера был неправильным? пожалуйста, предложите ....

ответ

1

поле события находится вне сферы угловой, вы можете сделать так:

var ipcRenderer = require("electron").ipcRenderer; 
      ipcRenderer.on('my-Response',function(event,data){ 
       $timeout(function(){ 
        $scope.inputs = data; 
       }, 0); 
      }); 
Смежные вопросы