এক্সপ্রেসচেন্জএফটারআইটিহ্যাসবাইন চেকডএরার ইন কৌণিক - কী, কেন এবং কীভাবে?

এক্সপ্রেশনচেন্জএফটারআইটিহাসবিইনচেকডএরআর কোনও সন্দেহ ছাড়াই কৌণিক অ্যাপ্লিকেশনগুলিতে আমার প্রিয় বাগটি।

আমি প্রথম যখন কৌণিকের সাথে কাজ করছিলাম তখন আমি এই ত্রুটিটি অনেক বার সম্মুখীন হয়েছি। গিটহাবের মতে আরও অনেকে।

এক্সপ্রেশনচেনজডএফটারআইটি হাসবিন চেকডএররার কখন ট্রিগার করা হয়?

সর্বাধিক সাধারণ কারণগুলি হ'ল:

  1. আপনি আফটারভিউআইনিতে কোড চালান যা ভিউচিল্ডের সাথে কাজ করার সময় একটি সাধারণ ঘটনা কারণ আফটারভিউআইনিট না বলা পর্যন্ত এটি অপরিজ্ঞাত।
  2. আপনি সরাসরি ডম সম্পাদনা করুন (উদাঃ jQuery সহ)। কৌণিক সবসময় এই পরিবর্তনগুলি সনাক্ত করতে পারে এবং সঠিকভাবে প্রতিক্রিয়া জানায় না।
  3. আপনি যখন আপনার এইচটিএমএল টেমপ্লেটে ফাংশনগুলি কল করেন তখন জাতিদের শর্তের কারণেও এটি ঘটতে পারে।

এক্সপ্রেশনচ্যাঞ্জডএফটারআইটি হ্যাসবিন চেকডএরআরআর আমাকে সতর্ক করার চেষ্টা করছে?

এক্সপ্রেসচেনজডএফটারআইটিহাসবিইনচেকডএরআর যখন উত্থাপিত হয় যখন আপনার এইচটিএমএলটিতে একটি অভিব্যক্তিটি অ্যাঙ্গুলার এটি পরীক্ষা করার পরে পরিবর্তিত হয়েছে (এটি একটি খুব তথ্যমূলক ত্রুটি)।

এই ত্রুটিটি কেবলমাত্র উন্নয়ন মোডে ফেলে দেওয়া হয় এবং ভাল কারণে। এটি প্রায়শই একটি চিহ্ন যা আপনার কোডটি সংশোধন করা উচিত কারণ অ্যাঙ্গুলার আপনাকে সতর্ক করে দেয় যে উত্পাদন মোডে প্রবেশের সময় আপনার অভিব্যক্তির এই পরিবর্তনটি বিবেচনা করা হবে না!

উন্নয়ন মোডের তুলনায় উত্পাদন মোড দ্রুত হওয়ার একটি কারণ হ'ল অ্যাংুলার কিছু বিকাশ এড়িয়ে যায় (উদাঃ আফটার ভিউআইনিটের পরে সনাক্তকরণ পরিবর্তন করে) যা উন্নয়ন মোডে সঞ্চালিত হয়। এর অর্থ হ'ল ডেভলপমেন্ট মোডে সূক্ষ্মভাবে কাজ করে এমন কোড উত্পাদন মোডে কাজ করবে না।

এখানে উদাহরণ রয়েছে যা উন্নয়ন মোডে সূক্ষ্মভাবে কাজ করে তবে উত্পাদন মোডে নয়:

কীভাবে এক্সপ্রেশনচেনজডএফটারআইটি হাসবিন চেকডএরর ঠিক করা যায়

একটি ঠিক করুন

একটি দ্রুত সমাধান হিসাবে সেটেটটাইমআউট বা চেঞ্জডেেক্টরআরফ প্রায়শই ত্রুটিটি দূরে সরাতে ব্যবহৃত হয়।

পরেরটি আরও ভাল কারণ চেঞ্জডেেক্টরআরফটি উপাদান উপাদান এবং তার শিশুদের পরীক্ষা করতে ব্যবহৃত হয়। অন্যদিকে, সেটটাইমআউট পরিবর্তনের জন্য অ্যাঙ্গুলার পুরো অ্যাপ্লিকেশনটি পরীক্ষা করে তোলে, যা অনেক বেশি ব্যয়বহুল।

দুটো ঠিক করুন

কখনও কখনও বাগটি ঠিক করা আরও সহজ - কেবল আপনার কোডটি অননিটে নিয়ে যান।

যদি আপনার ভিউচিল্ডের উপর নির্ভর করার প্রয়োজন না হয় বা অ্যাংুলার কোনও উপাদানটির দৃশ্য সম্পূর্ণরূপে শুরু না করা পর্যন্ত আপনি কোড চালনা করতে চান না, আপনি সমস্যাটি সমাধানের জন্য অননিট ব্যবহার করতে পারেন।

এটি কারণ হিসাবে, অনআইনিট অনুসারে, কৌণিক উত্পাদন এবং বিকাশ উভয় ক্ষেত্রেই একটি পরিবর্তন সনাক্ত করে out

তিনটি ঠিক করুন

আপনি কৌনিক পছন্দ করেন না এবং এটি পরিবর্তনগুলি কীভাবে স্বীকৃতি দেয়? আপনার উপাদানটিতে স্বয়ংক্রিয় পরিবর্তন সনাক্তকরণকে কেবল নিষ্ক্রিয় করুন এবং কখন পরিবর্তনগুলি সনাক্ত করা উচিত তা কৌনিকটি জানান।

অননপশের জন্য চেঞ্জডেস্টেকশনস্ট্রেজি কোনও উপাদান ডেকরেটারে নির্দিষ্ট করা যেতে পারে। এখন কৌনিকটি কেবলমাত্র স্বয়ংক্রিয়ভাবে ইনপুট পরিবর্তনগুলি সনাক্ত করে এবং বাকিটি আপনার উপর নির্ভর করে।

যদি আপনি অনপশ কৌশলটি সক্ষম করেন, যখন কম যাদু প্রয়োজন হয় তবে আপনি উন্নত পারফরম্যান্সও পাবেন কারণ অ্যাঙ্গুলারের কাজ কম হয়। এটি বৃহত এবং জটিল উপাদানগুলির অনুকূলকরণের জন্য দরকারী হতে পারে।

অন্যদিকে, আপনাকে অবশ্যই নিশ্চিত করতে হবে যে কৌণিক পরিবর্তন করছে। অন্যথায়, আপনি সাধারণত UI ত্রুটি দেখতে পাবেন (যেমন একটি অদৃশ্য হওয়া মডেল)।

আপনার উপাদানটি পুরোপুরি পরীক্ষা না করে এটিকে খুব উদ্যোগীভাবে প্রয়োগ করবেন না।

উপসংহার

কখন এবং কেন কুখ্যাত এক্সপ্রেশন চ্যাঞ্জডএফটারআইটিহ্যাসবাইনচেকডএরআর হয় তা আপনার এখন বুঝতে সক্ষম হওয়া উচিত।

আপনি দেখতে পাচ্ছেন যে, এই ত্রুটিটি মোকাবেলার বেশ কয়েকটি উপায় রয়েছে। কেবলমাত্র নিশ্চিত হয়ে নিন যে আপনি এটির আশেপাশে কাজ করার পরিবর্তে প্রকৃত অন্তর্নিহিত সমস্যাটি সমাধান করছেন।