使用AJAX更新的模型更新AngularJS视图

时间:2013-10-18 16:34:09

标签: javascript angularjs

提前道歉,我只是在学习AngularJS。虽然我可以让它实际工作,但我想知道使用AJAX操作填充页面加载视图的更好方法是:

module.run(['$rootScope', '$location', '$routeParams', '$http', function($rootScope, $location, $routeParams, $http) {
    $rootScope.$on('$routeChangeSuccess', function(e, current, pre) {
    console.log('Current route name: ' + $location.path());
    // Get all URL parameter
    console.log($routeParams);
    $rootScope.currentEditObject = { name: '' };
    if ($routeParams.id) {
        if ($location.path().startsWith('/object')) {
        $rootScope.type = 'object';
        $.ajax({
            type: 'GET',
            url: 'https://localhost/getObject',
            data: {
            objectId: $routeParams.id
            }
        }).success(function(data, status) {
            $rootScope.$apply(function() { $rootScope.currentEditObject = data.response.object; });
        });

        }
    }
    });
}]);

我开始阅读$apply以及它如何影响摘要,但我怀疑有更好的做法。从AJAX请求加载模型的“Angular方式”是什么?

1 个答案:

答案 0 :(得分:0)

我从示例中假设我读到使用$http意味着这样的事情:

$http({
    url: '....',
    method: 'GET',
    data: {}
}).success(...

这样做解决了它:

$http.get(url).success(successFunction)