Rumah > hujung hadapan web > tutorial js > Bagaimanakah Saya Boleh Menghalang Halaman Berkelip Semasa Perubahan Laluan AngularJS?

Bagaimanakah Saya Boleh Menghalang Halaman Berkelip Semasa Perubahan Laluan AngularJS?

Linda Hamilton
Lepaskan: 2024-11-28 17:28:10
asal
1015 orang telah melayarinya

How Can I Prevent Page Flicker During AngularJS Route Changes?

Melengahkan Perubahan Laluan AngularJS untuk Menghalang Halaman Berkelip

Apabila menavigasi antara halaman dalam aplikasi AngularJS, kadangkala adalah wajar untuk menangguhkan paparan halaman baharu sehingga model tertentu atau data telah dimuatkan. Ini menghalang kelipan dan memastikan pengalaman pengguna yang lebih lancar.

Menggunakan Harta $routeProvider.resolve

Harta $routeProvider.resolve membolehkan anda menentukan fungsi yang mesti diselesaikan sebelum perubahan laluan boleh berlaku . Fungsi ini boleh digunakan untuk memuatkan model, mengambil data atau melakukan sebarang tindakan tak segerak lain yang diperlukan untuk menyediakan halaman baharu.

angular.module('myApp', []).
  config(['$routeProvider', function($routeProvider) {
    $routeProvider.
      when('/myRoute', {
        templateUrl: 'my-route.html',
        controller: 'MyController',
        resolve: MyController.resolve
      })
  }]);
Salin selepas log masuk

Mentakrifkan Fungsi Penyelesaian

Fungsi resolusi ialah fungsi yang membalas janji. Janji mewakili tindakan tak segerak yang mesti diselesaikan sebelum penghala membenarkan perubahan laluan berlaku.

function MyController($scope, myDataService) {
  $scope.myData = myDataService.getData();
}

MyController.resolve = {
  myData: function(myDataService, $q) {
    var deferred = $q.defer();
    myDataService.getData(function(data) {
      deferred.resolve(data);
    });
    return deferred.promise;
  }
};
Salin selepas log masuk

Dalam contoh ini, fungsi menyelesaikan menggunakan myDataService untuk mendapatkan semula data. Setelah data diterima, janji diselesaikan dan penghala dimaklumkan bahawa perubahan laluan boleh diteruskan.

Dengan melengahkan perubahan laluan sehingga data dimuatkan, anda boleh meningkatkan pengalaman pengguna dengan mengelakkan kelipan halaman dan memastikan bahawa semua data yang diperlukan tersedia sebelum halaman baharu dipaparkan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menghalang Halaman Berkelip Semasa Perubahan Laluan AngularJS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan