Javascript $scope.$emit和$scope.$on中的问题

Javascript $scope.$emit和$scope.$on中的问题,javascript,angularjs,angular-material,Javascript,Angularjs,Angular Material,当我向选择列表中添加新内容时,它会在不刷新页面的情况下同时工作,但在删除此需要刷新页面以获取相关数据列表的选项时不会发生这种情况 //This event call when add and remove $scope.$emit("UserSetting_Update",true); // add a module to the library $scope.$on('UserSetting_Update', function (event, data) {

当我向选择列表中添加新内容时,它会在不刷新页面的情况下同时工作,但在删除此需要刷新页面以获取相关数据列表的选项时不会发生这种情况

//This event call when add and remove 

     $scope.$emit("UserSetting_Update",true);


// add a module to the library

     $scope.$on('UserSetting_Update', function (event, data) {
            console.log('UserSetting recived:', data);
            $scope.getControlData();
        });







   // save CategoryItem

    console.log("save obj"+obj);
    client.onComplete(function (data) {

        $rootScope.Usertoolbox = obj;
        $scope.$emit("UserSetting_Update",true);
        $scope.showMessage('Saved your changes');
    });
    client.onError(function (data) { 
    $scope.showMessage('There was an error storing your changes');
});
    client.insert([obj], {
        KeyProperty: "UserID"
    });

是您的
console.log('userSetting received:',data)出现在控制台中?是的,打印方式如下:UserSetting recived:true,数据库也会使用新数据集更新,但在刷新之前,更改器不会出现在web上,因此console.log正在启动,但UI不会使用新数据更新?这就是您看到的吗?您可以尝试将$scope.$apply()应用到您认为未触发UI的位置吗?我认为您需要在此处显示更多代码。请添加执行$emit的控制器和观察$on的控制器