Tổng đài tư vấn: 033 688 8648
Hotline: 039 511 6390
$location là thư viện giúp chúng ta làm việc với đường dẫn URL khi làm dự án web frontend bằng AngularJS. Ta có thể lấy dữ liệu hoặc thêm dữ liệu vào thanh URL của trình duyệt ...
Để khai báo và sử dụng được $location trong AngularJS ta thực hiện các bước như sau
Bước 1 : Chèn thư viện $location vào controller cần sử dụng
app.controller(
'ControllerName', [
'$scope',
'$http',
'$window',
'$compile',
'$location', function (
$scope,
$http,
$window,
$compile,
$location
) {
// Your Function
}
Bước 2 : Bật chế độ html5
Chèn vào config đoạn html5Mode
app.config(function ($interpolateProvider, $locationProvider) {
$interpolateProvider.startSymbol('<%');
$interpolateProvider.endSymbol('%>');
$locationProvider.html5Mode({
enabled: true,
requireBase: false
});
$locationProvider.hashPrefix('!');
})
Bước 3 : Thêm thẻ base vào file chạy chính html
1. Lấy dữ liệu
angular.element(document).ready(function () {
let params = $location.search();
$scope.filter.email = params.email;
$scope.filter.keyword = params.keyword;
$scope.filter.phone = params.phone;
$scope.filter.userId = params.userId;
});
Dùng hàm search để lấy toàn bộ dữ liệu trên thanh URL. Sau đó gán các giá trị tương ứng cho model
2. Push dữ liệu lên thanh URL
let params = {};
params = $scope.filter.email ? {...params, email : $scope.filter.email} : params;
params = $scope.filter.keyword ? {...params, keyword : $scope.filter.keyword} : params;
params = $scope.filter.phone ? {...params, phone : $scope.filter.phone} : params;
params = $scope.filter.userId ? {...params, userId : $scope.filter.userId} : params;
$location.path('/admin/user/list').search(params)
Chúng ta kiểm tra nếu tồn tại các gia trị của model thì gán vào 1 object. Cuối cùng dùng $location.path('').search(params) như ví dụ trên..
Chúc bạn thành công !