Utility Types
INFO
এই পেইজটি শুধুমাত্র কয়েকটি সাধারণভাবে ব্যবহৃত ইউটিলিটি টাইপের লিস্ট করে যেগুলির ব্যবহারের জন্য ব্যাখ্যার প্রয়োজন হতে পারে। এক্সপোর্টেড করা টাইপের সম্পূর্ণ লিস্টের জন্য, source code দেখুন।
PropType<T>
রানটাইম প্রপ ডিক্লেয়ার ব্যবহার করার সময় আরও উন্নত ধরনের সহ একটি প্রপ টীকা করতে ব্যবহৃত হয়।
উদাহরন
tsimport type { PropType } from 'vue' interface Book { title: string author: string year: number } export default { props: { book: { // provide more specific type to `Object` type: Object as PropType<Book>, required: true } } }
আরো দেখুন Guide - Typing Component Props
MaybeRef<T>
- শুধুমাত্র ৩.৩+ এ সমর্থিত
Alias for T | Ref<T>
. Useful for annotating arguments of Composables.
MaybeRefOrGetter<T>
- শুধুমাত্র ৩.৩+ এ সমর্থিত
Alias for T | Ref<T> | (() => T)
. Useful for annotating arguments of Composables.
ExtractPropTypes<T>
রানটাইম প্রপ অপশন অবজেক্ট থেকে প্রপ টাইপগুলি এক্সট্রাক্ট করুন। এক্সট্রাক্টেড টাইপগুলি অভ্যন্তরীণ মুখোমুখি - অর্থাৎ কম্পোনেন্ট দ্বারা প্রাপ্ত সমাধানকৃত প্রপস৷ এর অর্থ হল বুলিয়ান প্রপস এবং ডিফল্ট ভ্যালুসহ প্রপগুলি সর্বদা ডিফাইনড করা হয়, এমনকি তাদের প্রয়োজন না হলেও।
পাবলিক ফেসিং প্রপস বের করতে, যেমন প্রপস যা প্যারেন্টকে পাস করার এ্যালাউ করা হয়েছে, ExtractPublicPropTypes
ব্যবহার করুন।
উদাহরন
tsconst propsOptions = { foo: String, bar: Boolean, baz: { type: Number, required: true }, qux: { type: Number, default: 1 } } as const type Props = ExtractPropTypes<typeof propsOptions> // { // foo?: string, // bar: boolean, // baz: number, // qux: number // }
ExtractPublicPropTypes<T>
- শুধুমাত্র ৩.৩+ এ সমর্থিত
Extract prop types from a runtime props options object. The extracted types are public facing - i.e. the props that the parent is allowed to pass.
Example
tsconst propsOptions = { foo: String, bar: Boolean, baz: { type: Number, required: true }, qux: { type: Number, default: 1 } } as const type Props = ExtractPublicPropTypes<typeof propsOptions> // { // foo?: string, // bar?: boolean, // baz: number, // qux?: number // }
ComponentCustomProperties
কাস্টম গ্লোবাল প্রোপার্টি সমর্থন করার জন্য কম্পোনেন্ট ইন্সট্যান্স টাইপ বৃদ্ধি ব্যবহৃত হয়।
উদাহরন
tsimport axios from 'axios' declare module 'vue' { interface ComponentCustomProperties { $http: typeof axios $translate: (key: string) => string } }
TIP
অগমেন্টেশনগুলি অবশ্যই একটি মডিউল
.ts
বা.d.ts
ফাইলে স্থাপন করতে হবে। আরো বিস্তারিত জানার জন্য Type Augmentation Placement দেখুন।আরো দেখুন Guide - Augmenting Global Properties
ComponentCustomOptions
কাস্টম টাইপগুলিকে সমর্থন করার জন্য কম্পোনেন্ট অপশনের টাইপ বৃদ্ধি করতে ব্যবহৃত হয়।
উদাহরন
tsimport { Route } from 'vue-router' declare module 'vue' { interface ComponentCustomOptions { beforeRouteEnter?(to: any, from: any, next: () => void): void } }
TIP
অগমেন্টেশনগুলি অবশ্যই একটি মডিউল
.ts
বা.d.ts
ফাইলে স্থাপন করতে হবে। আরো বিস্তারিত জানার জন্য Type Augmentation Placement দেখুন।আরো দেখুন Guide - Augmenting Custom Options
ComponentCustomProps
TSX ইলিমেন্টগুলিতে অ-ঘোষিত প্রপগুলি ব্যবহার করার জন্য অনুমোদিত TSX প্রপগুলিকে বৃদ্ধি করতে ব্যবহৃত হয়৷
উদাহরন
tsdeclare module 'vue' { interface ComponentCustomProps { hello?: string } } export {}
tsx// now works even if hello is not a declared prop <MyComponent hello="world" />
TIP
অগমেন্টেশনগুলি অবশ্যই একটি মডিউল
.ts
বা.d.ts
ফাইলে স্থাপন করতে হবে। আরো বিস্তারিত জানার জন্য Type Augmentation Placement দেখুন।
CSSProperties
স্টাইল প্রোপার্টি বাইন্ডিং এর এ্যালাউড ভ্যালু বৃদ্ধি করতে ব্যবহৃত হয়।
উদাহরন
যেকোন কাস্টম সিএসএস প্রপার্টির এ্যালাউ করুন।
tsdeclare module 'vue' { interface CSSProperties { [key: `--${string}`]: string } }
tsx<div style={ { '--bg-color': 'blue' } }>
html<div :style="{ '--bg-color': 'blue' }"></div>
TIP
অগমেন্টেশনগুলি অবশ্যই একটি মডিউল .ts
বা .d.ts
ফাইলে স্থাপন করতে হবে। আরো বিস্তারিত জানার জন্য Type Augmentation Placement দেখুন।
See also
SFC <style>
ট্যাগগুলি v-bind
CSS ফাংশন ব্যবহার করে CSS ভ্যালুগুলিকে ডাইনামিক কম্পোনেন্ট স্টেইটে লিঙ্ক করা সাপোর্ট করে। এটি টাইপ বৃদ্ধি ছাড়াই কাস্টম প্রোপার্টির জন্য এ্যালাউ করে।