30/09/2018, 19:13

Giúp sửa lỗi sai trong javascript

Mình đang viết javascript nhưng không hiểu sao đoạn code của mình nó lại có vấn đề.

scotchApp.controller('mainController', function ($scope, $http, UsersService) {
$scope.maxSize = 5;
$scope.bigCurrentPage = 1;
$scope.numPerPage = 5;

//-----------Get all and pagination----------------------------
UsersService.GetEmployeeList().success(function (d) {
$scope.Users = d.Data;
$scope.total = $scope.todos.length;
}).error(function () {

});
  $scope.bigTotalItems = $scope.total;
$scope.$watch('bigCurrentPage + numPerPage', function () {
    var begin = (($scope.bigCurrentPage - 1) * $scope.numPerPage)
    , end = begin + $scope.numPerPage;

    $scope.Users = $scope.todos.slice(begin, end);
});
 //------------------Insert User---------------------------------------
$scope.ThemNguoiDung = function () {
    $http.post('/api/Users/', this.User).success(function (d) {         
        UsersService.GetEmployeeList().success(function (d) {
            $scope.todos = d.Data;
            $scope.total = $scope.todos.length;
        }).error(function () {

        });
    }).error(function (error) {
        alert('Thất bại');
    });
}
})

Cái chỗ lấy dữ liệu thì chạy được. Nhưng khi mình Insert dữ liệu trong hàm $scope.ThemNguoiDung thì sau khi success xong thì mình có gọi lại hàm load dữ liệu. Nhưng không hiểu sao nó lại không load lại. Xin hướng dẫn mình sai chỗ nào?

Cường Nguyễn viết 21:15 ngày 30/09/2018

Ôi ông đặt tên biến tù thế .
Như thế kia nó hiểu d là respose của cái nào bây giờ

Lập Trình Sư viết 21:21 ngày 30/09/2018

code ảo tung chảo, trong hai chỗ UsersService.GetEmployeeList(), ở trên thì $scope.Users = d.Data còn ở dưới thì $scope.todos = d.Data…có liên quan?

Hoa Hoa viết 21:14 ngày 30/09/2018

Chỗ đó mình đã sửa rồi! Nhưng thật sự mình không hiểu tại sao, khi mình insert, update, delete thì sau khi success, mình có gọi load dữ liệu lên lại, nhưng bên giao diện nó không có thay đổi gì hết. Mình đang tìm hiểu Angular nhưng bí chỗ này cả tuần nay mà không biết làm sao fix. Bạn có thể cho mình biết cần phải làm gì để sau khi nó success thì bên giao diện nó cũng thay đổi theo không?

Hoa Hoa viết 21:22 ngày 30/09/2018

Mình mới tìm hiểu về Angular nhưng bí cả tuần này làm hoài không sửa được. Chỗ các biến ấy mình đã sửa lại rồi.

Nguyen Ca viết 21:17 ngày 30/09/2018

Thử $scope.apply hoặc $timeout

Hoa Hoa viết 21:19 ngày 30/09/2018

Mình đã thử vời $scope.$apply() rồi, nhưng nó bị lỗi khi chạy tới hàm này. Mình có làm 2 project, Với project mình dùng MVC của ASP.NET thì làm OK, nhưng khi chuyển sang kiểu SPA của AngularJS thì nó lại bị như vậy. Cả 2 mình đều sử dụng AngularJS hết, chỉ khác 1 cái là dùng MVC của sever, 1 cái thì của client.

Bài liên quan
0