scope.apply在Angular Event Handler中不起作用

时间:2018-06-19 07:10:38

标签: javascript angularjs angular-digest angularjs-rootscope

我的父网页ng-include<div id="jobs-details" ng-controller="JobsController as jobsCtrl"> <container container-id="jobs-details-container-portlet" height="1000px" columns="12" css-class="base-container"> <portlet label="Job chart" height="1000px" columnspan="12" css-class="summary-pie-chart sub-tab-nav"> <div> <div ng-if="jobsCtrl.showSummaryTab"> <div ng-include src="'src/jobs/templates/jobs-details-filters.html'"> </div> </div> </div>

jobsCtrl

selectedJobType中,我正在从stateParams读取一个值$rootScope.$broadcast("stateObjJobTypeReceived",stateObj.selectedJobType); ,我正在播放它。

jobs-details-filters.html

现在,在 $rootScope.$on("stateObjJobTypeReceived",function(event,_eventData) { $timeout(function() { self.jobTypeSettings.selectedData = {"JobType_1": Array(0)}; $scope.$apply(); },0); }); 控制器内部:

如果我尝试读取值并分配给变量,如:

            $timeout(function() {
                self.jobTypeSettings.selectedData = {"JobType_1": Array(0)};
                $scope.$apply();
            },5000); 

它不起作用。

但如果我只是将用于测试目的而不放入事件处理程序,

jobsCtrl

它有效。 5秒后价值变化

在内部,事件监听器似乎无法工作。

基本上我试图传递来自index.php的值,并相应地分配给变量,并且在我看来,这是一种唯一的方式。

请帮忙。

0 个答案:

没有答案