لقد كان التنقل عبر صفحات الويب باستخدام المراسي ممارسة شائعة، خاصة بالنسبة للصفحات الطويلة ذات الأقسام المتعددة. ومع ذلك، في تطبيقات AngularJS، يمكن أن يكون التعامل مع رابط الارتساء مشكلة.
عند النقر على روابط الارتساء في AngularJS، فإن السلوك الافتراضي هو اعتراض النقرة وإعادة توجيه المستخدم إلى صفحة مختلفة. لمعالجة هذه المشكلة، توفر AngularJS حلاً.
تم تصميم خدمة $anchorScroll() في AngularJS خصيصًا للتعامل مع ربط التجزئة. تسمح لك هذه الخدمة بالتمرير إلى عنصر في الصفحة الحالية بناءً على قيمة التجزئة في عنوان URL.
لاستخدام $anchorScroll()، ما عليك سوى إدخاله في وحدة التحكم الخاصة بك واستدعائه عند الضرورة. تأخذ الخدمة معلمة معرف اختيارية تحدد العنصر الذي سيتم التمرير إليه. إذا لم يتم توفير معرف، فسيتم التمرير إلى العنصر ذو المعرف المطابق $location.hash().
app.controller('TestCtrl', function($scope, $location, $anchorScroll) {
$scope.scrollTo = function(id) {
$location.hash(id);
$anchorScroll();
}
});
Test/Foo
منهج مبسطللحصول على منهج أبسط، يمكنك استخدام هذا المعدل الكود:app.run(function($rootScope, $location, $anchorScroll) {
//when the route is changed scroll to the proper element.
$rootScope.$on('$routeChangeSuccess', function(newRoute, oldRoute) {
if($location.hash()) $anchorScroll();
});
});
سيبدو الرابط الأساسي الخاص بك بعد ذلك بالشكل التالي:Test/Foo
من خلال الاستفادة من هذه التقنيات، يمكنك التعامل بسلاسة مع رابط التجزئة الأساسي في تطبيقات AngularJS، مما يوفر تجربة مستخدم سلسة للتنقل في الصفحات الطويلة ذات الأقسام المتعددة. تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3