【问题标题】:Cannot access Angular $scope variable implemented inside Electron ipcRenderer无法访问在 Electron ipcRenderer 中实现的 Angular $scope 变量
【发布时间】:2016-07-10 10:07:24
【问题描述】:

我正在尝试从在这样的角度控制器下实现的 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的值是未定义的,因此该值没有绑定在页面中。

我最初的想法是,既然我们可以从控制器获得 $scope(作为参数注入),我们应该能够将它用于附加值,例如 $scope.input,然后将其绑定到页面中。然而,这似乎并不像预期的那样。

这里有什么我遗漏的或者我在角度控制器中使用 ipc 的方法是错误的吗?请建议....

【问题讨论】:

    标签: javascript angularjs electron


    【解决方案1】:

    事件字段超出了 Angular 的范围,你可以这样做:

    var ipcRenderer = require("electron").ipcRenderer;
                ipcRenderer.on('my-Response',function(event,data){
                    $timeout(function(){
                         $scope.inputs = data;
                    }, 0);
                });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-22
      • 2021-09-22
      • 2016-02-05
      相关资源
      最近更新 更多