মডিউলটির ভিতরে একটি বৈশ্বিক পরিবর্তনশীল কল করুন


248

আমার কাছে একটি টাইপসক্রিপ্ট ফাইল রয়েছে Projects.tsযা আমি বুটস্ট্র্যাপ নামে পরিচিত প্লাগইনে ঘোষিত গ্লোবাল ভেরিয়েবলের উল্লেখ করতে চাই bootbox.js।

আমি bootboxটাইপস্ক্রিপ্ট ক্লাসের মধ্যে থেকে কল করা একটি ভেরিয়েবল অ্যাক্সেস করতে চাই ।

এটা কি সম্ভব?


3
সেখানে bootbox জন্য DefinitelyTyped সংজ্ঞা এখন nuget.org/packages/bootbox.TypeScript.DefinitelyTyped
— ThisGuy

উত্তর:


404

আপনাকে এটি সংঘটিত করার কথাটি সংকলককে বলতে হবে:

declare var bootbox: any;

আপনার কাছে আরও ভাল টাইপের তথ্য থাকলে আপনি এটিও যুক্ত করতে পারেন any।


5
এড়িয়ে যেতে পারে ': যে কোনও' বিট আসলে।
— ওলেগ মিহাইলিক

37
এটি একটি প্রশ্নোত্তর বিন্যাসের জন্য একটি ভাল উদাহরণ তৈরি করবে না যদিও আমি প্রস্তাব দিচ্ছি যে তারা নির্দিষ্ট ধরণের তথ্য যুক্ত করে এবং উত্তরটি দেখায় যে তারা কীভাবে এবং কোথায় এটি স্থাপন করবে।
— ফেন্টন

14
আমাদের জন্য টাইপস্ক্রিপ্ট newbies, যেখানে আমরা এই declareবিবৃতি রাখব ?
— বব হর্ন

এটি কি বিশ্বব্যাপী ফাংশনগুলির জন্য একটি ভাল সমাধান? কিছু রাখছেন declare var myFunction: any;?
— jonathanrz

1
@ জোনাথানরজ হ্যাঁ, আপনি যদি আরও দূরে যেতে চান তবে এটি একটি নির্দিষ্ট স্বাক্ষরও হতে পারে, উদাহরণস্বরূপdeclare var myFunction: (input: string) => void;
— ফেন্টন

47

যারা ইতিমধ্যে জানেন না, তাদের জন্য আপনাকে declareবিবৃতিটি classঠিক এর বাইরে রাখতে হবে :

declare var Chart: any;

@Component({
  selector: 'my-component',
  templateUrl: './my-component.component.html',
  styleUrls: ['./my-component.component.scss']
})

export class MyComponent {
    //you can use Chart now and compiler wont complain
    private color = Chart.color;
}

ইন TypeScriptঘোষণা শব্দ ব্যবহার করা হয় যেখানে আপনি একটি পরিবর্তনশীল যে একটি থেকে সম্ভূত আছে নাও হতে পারে সংজ্ঞায়িত করতে চান TypeScriptফাইল।

এটি আপনি সংকলককে বলার মতো যে, আমি জানি এই চলকটির রানটাইমের সময় একটি মান থাকবে, তাই সংকলনের ত্রুটি ছুঁড়ে ফেলবেন না।


15

যদি এটি এমন কিছু হয় যা আপনি উল্লেখ করেছেন তবে কখনও পরিবর্তন করেন না, তবে ব্যবহার করুন const:

declare const bootbox;

12

সোহনি সমাধানগুলি পরিষ্কার, তবে আপনি চেষ্টাও করতে পারেন

window["bootbox"]

3

আপনি পুরো প্রকল্পের জুড়ে এই পরিবর্তনশীল একটি রেফারেন্স আছে করতে চান তাহলে, কোথাও তৈরি d.tsফাইল, যেমন globals.d.ts। আপনার গ্লোবাল ভেরিয়েবলের ঘোষণার সাথে এটি পূরণ করুন, যেমন:

declare const BootBox: 'boot' | 'box';

এখন আপনি এটির মতো প্রকল্পের যে কোনও জায়গায় রেফারেন্স করতে পারেন:

const bootbox = BootBox;

এখানে একটি উদাহরণ ।


-4

বুটবক্স টাইপগুলি ডাউনলোড করুন

তারপরে আপনার .ts ফাইলের অভ্যন্তরে এটিতে একটি উল্লেখ যুক্ত করুন।


2
দয়া করে উত্তর হিসাবে কোনও সরঞ্জাম বা লাইব্রেরি পোস্ট করবেন না। কমপক্ষে প্রদর্শিত হবে যে কীভাবে এটি উত্তরে নিজেই সমস্যাটি সমাধান করে।
— ফিল্নোর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.