无法刷新视图上的数据。使用因子,angularjs

时间:2016-03-07 21:18:33

标签: angularjs angularjs-directive angularjs-scope

我可以在第一次调用时获取信息,但在关闭警报时$ scope.closeDialog我会去服务器并获取数据,但我的模型vm.info没有在视图上获得更新。 ...警报与vm.info所在的标签不同...(如果这有什么不同)任何想法?

工厂内部

    dataFactory.getInfo= function(from, to) {
    return $http({
           url: urlBase + 'GetInfo',
           method: "GET",
           params: { from: from, to: to }
       });
    }

我在关闭对话框的警报中有一个功能。

        $scope.closeDialog = function () {
            $mdDialog.hide();
            vm.info(vm.from, vm.to);
            //window.location.reload();
        };

在我的控制器中:

    vm = this;
    vm.info= function getInformation(from, to) {
    dataFactory.getInfo(from, to)
        .success(function (data) {
                vm.info = data;
        })
        .error(function (error) {
                vm.status = 'Unable to load data: ' + error.message;
        });
    }

唯一的解决方案是使用windows.location.reload()。但是要刷新屏幕上的一个项目,我必须刷新整个页面。

1 个答案:

答案 0 :(得分:0)

好吧,你在getInformation上用data覆盖了success函数,这就是为什么它只能运行一次。

在您的控制器中:

vm = this;

vm.info;

vm.getInfo = function(from, to) {
dataFactory.getInfo(from, to)
    .success(function (data) {
            vm.info = data;
    })
    .error(function (error) {
            vm.status = 'Unable to load data: ' + error.message;
    });
}