【问题标题】:Angular the scop view dont updates may view角度范围视图不更新可能会查看
【发布时间】:2016-02-19 08:39:38
【问题描述】:

我有一个小应用程序从 signalR 获取数据并将它们从工厂传回控制器。 但是当 rootScope 触发并将对象传递到范围时,此数据会在视图上更新。 这是我的控制器代码:

(function () {
'use strict';

angular.module('app.config', ['datatables'])
    //.controller('configCtrl', configCtrl)
    .value('backendServerUrl', 'https://pmscsds01.azurewebsites.net/')
    .controller('sysCtrl', [
        "$scope", "$http", "DataConfig", "backendHubProxy", "$rootScope", function ($scope, $http, DataConfig, backendHubProxy, $rootScope) {
            DataConfig.GetConfigs();
            $rootScope.$on('data-ready', function (event, args) {
                $scope.systems = args.data;
                backendHubProxy.initalizeHub('configurationStatusClientHub', args.pcellId, $scope.systems);
            });

            $rootScope.$on('data-changed', function (event, args) {
                $scope.systems = args;
            });
        }
    ]);})();

第一个 $rootScope.$on 工作正常,但第二个:

$rootScope.$on('data-changed', function (event, args) {
                $scope.systems = args;
            });

不是,它会将新更新的数据传递给系统范围,但这不会反映在视图上。

【问题讨论】:

  • data-ready 事件中,您将args.data 分配给$scope.systems,而在data-changed 事件中,它是args,对吗?

标签: angularjs jscript emit angularjs-rootscope


【解决方案1】:

我终于解决了这个问题 刚刚添加 $scope.apply();

$rootScope.$on('data-changed', function (event, args) {
            $scope.systems = args;
            $scope.apply();
        });

现在可以了;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多