我正在尝试从像这样的 Angular Controller 下实现的 ipcRenderer 访问 $scope 变量
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 页面中,我试图像这样访问 $scope 数据:
<body ng-app="app">
<div ng-controller="inputsController" class="container">
test: {{test}}
inputs: {{inputs}}
</div>
</body>
日志结果显示 $scope.inputs 的值未定义,因此该值未在页面中绑定(bind)。
我最初的想法是,既然我们可以从 Controller 获得 $scope(作为参数注入(inject)),我们应该能够使用它来附加值,例如 $scope.input,然后将其绑定(bind)到页面中。然而,这似乎并不像预期的那样表现。
我在这里遗漏了什么,或者我在 Angular Controller 中安装 ipc 的方法是错误的吗?请建议....
最佳答案
事件字段在angular的范围之外,你可以这样做:
var ipcRenderer = require("electron").ipcRenderer;
ipcRenderer.on('my-Response',function(event,data){
$timeout(function(){
$scope.inputs = data;
}, 0);
});
关于javascript - 无法访问在 Electron ipcRenderer 中实现的 Angular $scope 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36172713/