اذهب إلى المحتوى
  • 0

مشكلة تحويل المسارات Angular في لارافيل

Amir Alsaeed

السؤال

أستخدم Angular مع لارافيل ولكن ظهرت مشكلة في تحويل المسارات ضمن واجهات التطبيق، فعند تعريف مسار محدد بالشكل:

$routeProvider.when('/image/:imageId', {
    controller: 'imagePageController',
    templateUrl: 'views/image.html'
});

وباستخدام الوسم a:

<a href="/#/images/{{image.id}}">Show Image</a>

يتم تحويل العلامات " / " الموجودة في المسار إلى القيمة "%2F" فيصبح الرابط على الشكل التالي:

http://localhost:8000/#%2Fimage%2F1

ولا يتم الحصول على القيم أو الواجهات بالشكل الصحيح. حاولت استخدام ng-href بدلاً من الوسم a ولكن بقيت نفس المشكلة. كيف يمكنني حل هذه المشكلة؟

تم التعديل في بواسطة Amir Alsaeed
رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يتم تحويل العلامة / إلى %2F ضمن الترميز المستخدم في المسارات والذي يدعى percent-encoding، والسبب في هذه المشكلة أنه عند التحديث إلى نسخة Angular 1.6 يجب تغيير المسارات الافتراضية الموجودة ضمن خدمة المسارات $location أي استخدام locationProvider لتصبح بالشكل التالي:

appModule.config(['$locationProvider', function($locationProvider) {
  $locationProvider.hashPrefix('');
}]);

وأيضاً يوجد حل آخر من طرف العميل بإضافة العلامة ! قبل مسار التوجيه لتصبح بالشكل التالي:


بدلاً من
#/path/new

تصبح كالتالي:

#!/path/new

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...