কিভাবে রাউটারলিঙ্ক দিয়ে ক্যোয়ারী প্যারামিটারগুলি পাস করবেন


161

আমি একটি কোয়েরি প্যারামিটারটি পাস করতে চাই prop=xxx

এটি কাজ করে না

<a [routerLink]="['/somepath', {queryParams: {prop: 'xxx'}}]>Somewhere</a>

আপনি যে সিনট্যাক্সটি ব্যবহার করতে চান তা ম্যাট্রিক্স প্যারামিটারের জন্য এবং এটি ফর্মটি <a [routerLink]="['/somepath', { foo: 'foo' }]">Somewhere</a>এটি আপনাকে একটি ম্যাট্রিক্স url পরামিতি দেয় (সেমিকোলন; এর পরিবর্তে? এবং & বিভাজক) এবং আপনি এটি অ্যাক্টিভেটরউউট.প্রেমস দ্বারা সক্রিয় করতে পারেন অ্যাক্টিভেটেডরউট.কোরিপ্যারামস আরও তথ্যের জন্য এখানে stackoverflow.com/questions/35688084/… এবং এখানে স্ট্যাকওভারফ্লো.com
উইলিয়াম আরডিলা

1
ক্যোয়ারী প্যারামিটার এবং ম্যাট্রিক্স পরামিতি একই। পার্থক্য কেবলমাত্র যখন সেগুলি মূল বিভাগে যুক্ত করা হয়, তারা কোয়েরি পরামিতি হিসাবে সিরিয়ালযুক্ত হয়, যখন তারা কোনও শিশু বিভাগে যুক্ত হয়, তখন তারা ম্যাট্রিক্স পরামিতি হিসাবে সিরিয়ালযুক্ত হয়।
গন্টার জ্যাচবাউয়ার

আরো কিছু পার্থক্য রয়েছে এই পরীক্ষা web.archive.org/web/20130126100355/http://brettdargan.com/blog/... এছাড়াও আপনি এখানে কৌণিক ডক লিংকে প্যারামিটার সিনট্যাক্স পরীক্ষা করতে পারবেন angular.io/docs/ts/latest/ গাইড /…
উইলিয়াম আরডিলা

উত্তর:


325

queryParams

queryParamsrouterLinkতারা যেমন পাস করা যেতে পারে যেখানে অন্য একটি ইনপুট হয়

<a [routerLink]="['../']" [queryParams]="{prop: 'xxx'}">Somewhere</a>

fragment

<a [routerLink]="['../']" [queryParams]="{prop: 'xxx'}" [fragment]="yyy">Somewhere</a>

routerLinkActiveOptions

অভিভাবকরা রুটে রুটগুলি সক্রিয় ক্লাস সেট পেতে:

[routerLinkActiveOptions]="{ exact: false }"

this.router.navigate(...)ব্যবহারের জন্য ক্যোয়ারী প্যারামিটারগুলি পাস করতে

let navigationExtras: NavigationExtras = {
  queryParams: { 'session_id': sessionId },
  fragment: 'anchor'
};

// Navigate to the login page with extras
this.router.navigate(['/login'], navigationExtras);

Https://angular.io/guide/router#query-paraters- এবং- ফ্রেমমেন্টগুলিও দেখুন


কীভাবে এই প্রোগ্রামটি কাজ করবে? আমি this.router.navigate (['/ resetPassword',, ক্যুয়ারীপ্যারামস: {ব্যবহারকারীর নাম: লগইননাম}}]) দিয়ে চেষ্টা করেছি; তবে ফলাফলটি ছিল: লোকালহোস্ট: 8100 / রিসেটপ্যাসওয়ার্ড; কোয়েরিপ্যারামস =% 5 بابজেক্ট% 20অবজেক্ট% 5 ডি
রিকুল

2
আমি আমার উত্তর আপডেট। আমি যুক্ত লিঙ্কটি দেখুন। এটি একটি সম্পূর্ণ উদাহরণ দেখায়।
গন্টার জ্যাচবাউর 13

দম্পতি নোট: অতিরিক্তগুলির আগে [ '/resetPassword' ], { queryParams: { username: loginName }})যেখানে ]আসে সেখানে রিকুলের কোড হওয়া উচিত । এছাড়াও ভুলবেন না যে ক্যোয়ারী প্যারামগুলি কেস সংবেদনশীল।
সাইমন_উইভার

2
: ভুলবেন না লক্ষ্যে queryParams সাবস্ক্রাইব করার জন্য stackoverflow.com/a/39146396/2726844
ভিন্স আমি

1
অথবা আপনি যদি রুটগুলি ব্যবহার করছেন, runGuardsAndResolvers: 'always'তবে মাঝারি
অ্যাডাম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.