কি দুর্দান্ত প্রশ্ন! আমি অন্যদের কী বলতে চাই তা শুনতে পছন্দ করি তবে আমি যে গাইডলাইন ব্যবহার করি তা এখানে।
উচ্চ-উচ্চতার ভিত্তি: স্কোপটি "আঠালো" হিসাবে ব্যবহৃত হয় যা আমরা প্যারেন্ট কন্ট্রোলার, নির্দেশিকা এবং নির্দেশিকা টেম্পলেটগুলির মধ্যে যোগাযোগের জন্য ব্যবহার করি।
মূল সুযোগ: scope: false
তাই কোনও নতুন সুযোগ নেই
আমি এটি প্রায়শই ব্যবহার করি না, তবে @ মারকরাজকোক যেমন বলেছিলেন, যদি নির্দেশটি কোনও স্কোপ ভেরিয়েবল অ্যাক্সেস না করে (এবং স্পষ্টত কোনও সেট করে না!) তবে আমি যতটা উদ্বিগ্ন এটি ঠিক ঠিক। এটি শিশু নির্দেশনার জন্যও সহায়ক যেগুলি কেবল পিতামাতার নির্দেশের প্রসঙ্গে ব্যবহৃত হয় (যদিও সর্বদা এর ব্যতিক্রম রয়েছে) এবং এতে কোনও টেমপ্লেট নেই। মূলত কোনও টেমপ্লেটের সাথে থাকা কোনও কিছুই স্কোপ ভাগ করে নেওয়ার পক্ষে নয়, কারণ আপনি অ্যাক্সেস এবং হেরফেরের জন্য সহজাতভাবে সেই সুযোগটি প্রকাশ করছেন (তবে আমি নিশ্চিত যে এই নিয়মের ব্যতিক্রম রয়েছে)।
উদাহরণ হিসাবে, আমি সম্প্রতি একটি নির্দেশিকা তৈরি করেছি যা আমি লেখার প্রক্রিয়ায় আছি এমন একটি এসভিজি লাইব্রেরি ব্যবহার করে একটি (স্ট্যাটিক) ভেক্টর গ্রাফিক আঁকেন। এটি $observe
দুটি বৈশিষ্ট্য ( width
এবং height
) এবং এর গণনাগুলিতে সেগুলি ব্যবহার করে তবে এটি কোনও স্কোপ ভেরিয়েবল সেট করে না এবং পড়তে পারে না এবং এর কোনও টেম্পলেট নেই। অন্য সুযোগ তৈরি না করার জন্য এটি ভাল ব্যবহারের ক্ষেত্রে; আমাদের একজনের দরকার নেই, তাই কেন বিরক্ত করবেন?
তবে অন্য এসভিজির নির্দেশে, তবে আমার ব্যবহারের জন্য এক সেট ডেটা প্রয়োজন ছিল এবং অতিরিক্তভাবে একটি সামান্য বিট স্টোরও সংরক্ষণ করতে হয়েছিল। এই ক্ষেত্রে, পিতামাত স্কোপ ব্যবহার করা দায়িত্বহীন হবে (আবার সাধারণভাবে কথা বলা)। তাই পরিবর্তে...
শিশু সুযোগ: scope: true
একটি শিশু সুযোগ সহ নির্দেশাবলী প্রসঙ্গ-সচেতন এবং বর্তমান সুযোগের সাথে ইন্টারঅ্যাক্ট করার উদ্দেশ্যে are
স্পষ্টতই, একটি বিচ্ছিন্ন সুযোগের এগুলির একটি মূল সুবিধাটি হ'ল ব্যবহারকারীরা তাদের যে কোনও বৈশিষ্ট্য চান তাতে ইন্টারপোলেশন ব্যবহার করতে পারেন; উদাহরণস্বরূপ, class="item-type-{{item.type}}"
বিচ্ছিন্ন সুযোগের সাথে কোনও নির্দেশিকা ব্যবহার করা ডিফল্টরূপে কাজ করবে না, তবে একটি শিশু স্কোপ সহ একটিতে সূক্ষ্মভাবে কাজ করবে কারণ যেটি দ্বিখণ্ডিত রয়েছে তা এখনও ডিফল্টরূপে প্যারেন্ট স্কোপে পাওয়া যেতে পারে। এছাড়াও, নির্দেশিকা নিজেই অভিভাবকদের দূষণ বা ক্ষতি সম্পর্কে চিন্তা না করে নিজের সুযোগের প্রসঙ্গে গুণাবলী এবং অভিব্যক্তিগুলি নিরাপদে মূল্যায়ন করতে পারে।
উদাহরণস্বরূপ, একটি সরঞ্জামদণ্ড এমন কিছু যা সবেমাত্র যুক্ত হয়; একটি বিচ্ছিন্ন সুযোগ কাজ করবে না (ডিফল্টরূপে, নীচে দেখুন) কারণ আশা করা হয় যে আমরা এখানে অন্য নির্দেশাবলী বা অন্তরবিচ্ছিন্ন বৈশিষ্ট্যগুলি ব্যবহার করব। টুলটিপটি কেবল একটি বর্ধন। তবে টুলটিপটিতে একটি উপ-নির্দেশিকা এবং / অথবা টেম্পলেট ব্যবহার করার সুযোগ রয়েছে এবং স্পষ্টতই তার নিজস্ব রাষ্ট্র পরিচালনা করার সুযোগ রয়েছে, সুতরাং পিতামাতার সুযোগটি ব্যবহার করা সত্যই খারাপ হবে। আমরা হয় এটি দূষিত করছি বা এর ক্ষতি করছি এবং বুয়েনোও নয়।
আমি নিজেকে শিশু স্কোপগুলি বিচ্ছিন্ন বা পিতামাতার স্কোপের চেয়ে বেশি বার ব্যবহার করে দেখতে পাই।
সুযোগ বিচ্ছিন্ন: scope: {}
এটি পুনরায় ব্যবহারযোগ্য উপাদানগুলির জন্য। :-)
তবে গুরুতরভাবে, আমি "পুনরায় ব্যবহারযোগ্য উপাদানগুলি" "স্ব-অন্তর্ভুক্ত উপাদানগুলি" হিসাবে মনে করি। উদ্দেশ্যটি হ'ল এগুলি কোনও নির্দিষ্ট উদ্দেশ্যে ব্যবহার করা উচিত, সুতরাং তাদেরকে অন্য নির্দেশাবলীর সাথে সংমিশ্রণ করা বা ডোম নোডের সাথে অন্য অন্তরবিচ্ছিন্ন বৈশিষ্ট্য যুক্ত করা কোনওভাবেই বোঝা যায় না।
আরও সুনির্দিষ্ট হওয়ার জন্য, এই স্বতন্ত্র কার্যকারিতার জন্য যা কিছু প্রয়োজন তা পিতামাতার সুযোগের প্রসঙ্গে মূল্যায়িত নির্দিষ্ট বৈশিষ্ট্যের মাধ্যমে সরবরাহ করা হয়; এগুলি হয় হয় একমুখী স্ট্রিং ('@'), একমুখী এক্সপ্রেশন ('&'), বা দ্বি-মুখের ভ্যারিয়েবল বাইন্ডিংস ('=')।
স্ব-অন্তর্ভুক্ত উপাদানগুলিতে, এটির উপর অন্য নির্দেশাবলী বা বৈশিষ্ট্য প্রয়োগ করার প্রয়োজন বোধ করে না কারণ এটি নিজে থেকেই বিদ্যমান। এর শৈলীটি তার নিজস্ব টেমপ্লেট দ্বারা পরিচালিত হয় (যদি প্রয়োজন হয়) এবং উপযুক্ত সামগ্রী প্রতিলিপি থাকতে পারে (প্রয়োজনে)। এটি স্বতন্ত্র, সুতরাং আমরা এটিকে একটি বিচ্ছিন্ন সুযোগে রেখেছিলাম: "এটির সাথে গোলযোগ করবেন না I'm আমি আপনাকে এই কয়েকটি বৈশিষ্ট্যের মাধ্যমে একটি সংজ্ঞায়িত এপিআই দিচ্ছি।"
একটি ভাল সেরা অনুশীলন হ'ল নির্দেশক লিঙ্ক এবং নিয়ন্ত্রণকারী ফাংশনগুলি যথাসম্ভব টেম্পলেট-ভিত্তিক স্টাফগুলি বাদ দেওয়া। এটি অন্য "এপিআই-জাতীয়" কনফিগারেশন পয়েন্ট সরবরাহ করে: নির্দেশিকার ব্যবহারকারী কেবলমাত্র টেমপ্লেটটি প্রতিস্থাপন করতে পারে! কার্যকারিতা সমস্ত একই থাকে, এবং এর অভ্যন্তরীণ এপিআই কখনই স্পর্শ করা যায় নি, তবে আমরা স্টাইলিং এবং ডম প্রয়োগের সাথে আমাদের যতটুকু প্রয়োজন ততটাই গোলমাল করতে পারি। ইউআই / বুটস্ট্র্যাপ কীভাবে এটি করা যায় তার একটি দুর্দান্ত উদাহরণ কারণ পিটার এবং পাভেল দুর্দান্ত।
বিচ্ছিন্নতার সাথে ব্যবহারের জন্য বিচ্ছিন্ন স্কোপগুলিও দুর্দান্ত। ট্যাবগুলি নিন; তারা না শুধুমাত্র পুরো কার্যকারিতা আছে, কিন্তু যাই হোক না কেন হয় ভিতরে যখন ট্যাব (এবং ফলকগুলি) যাই হোক না কেন তারা চান করতে যাব এটা অভিভাবক সুযোগ মধ্যে থেকে অবাধে মূল্যায়ন করা যাবে। এই ট্যাবগুলির স্পষ্টতই তাদের নিজস্ব রাষ্ট্র রয়েছে , যা স্কোপের সাথে অন্তর্ভুক্ত (টেমপ্লেটের সাথে ইন্টারঅ্যাক্ট করার জন্য), তবে সেই রাজ্যের যে প্রসঙ্গে এটি ব্যবহৃত হয়েছিল তার সাথে কোনও সম্পর্ক নেই it's এটি সম্পূর্ণরূপে অভ্যন্তরীণ যা কোনও ট্যাবকে নির্দেশকে একটি ট্যাব নির্দেশিকা করে তোলে। তদ্ব্যতীত, ট্যাবগুলির সাথে অন্য কোনও নির্দেশিকা ব্যবহার করার পক্ষে এটি তেমন অর্থবোধ করে না। এগুলি ট্যাব - এবং আমরা ইতিমধ্যে সেই কার্যকারিতাটি পেয়েছি!
আরও কার্যকারিতা সহ এটি ঘিরে বা আরও কার্যকারিতা প্রতিলিপি করুন, তবে নির্দেশটি এটি ইতিমধ্যে যা রয়েছে।
যা যা বলেছিল, আমার অবশ্যই লক্ষ্য করা উচিত যে বিচ্ছিন্ন সুযোগের কিছু সীমাবদ্ধতাগুলির (যেমন বৈশিষ্ট্যগুলি) প্রায় কাছাকাছি উপায় রয়েছে, যেমন @ প্রলোজার তার উত্তরে ইঙ্গিত করেছিলেন। উদাহরণস্বরূপ, শিশু স্কোপ বিভাগে, আমি বিচ্ছিন্ন স্কোপ (ডিফল্টরূপে) ব্যবহার করার সময় অ-নির্দেশমূলক গুণাবলীর বিরতিতে বিরতি উল্লেখ করেছি। তবে ব্যবহারকারী, উদাহরণস্বরূপ, সহজভাবে ব্যবহার করতে পারে class="item-type-{{$parent.item.type}}"
এবং এটি আবার কাজ করবে। সুতরাং যদি কোনও বাচ্চার সুযোগের উপর বিচ্ছিন্ন সুযোগ ব্যবহার করার জন্য যদি কোন বাধ্যতামূলক কারণ থাকে তবে আপনি এই সীমাবদ্ধতার কয়েকটি সম্পর্কে উদ্বিগ্ন হন তবে জেনে রাখুন যে আপনার প্রয়োজন হলে আপনি কার্যত সেগুলির মধ্যে কাজ করতে পারেন।
সারসংক্ষেপ
কোনও নতুন সুযোগ নেই এমন নির্দেশিকাগুলি কেবল পঠনযোগ্য; তারা সম্পূর্ণরূপে বিশ্বস্ত (যেমন অ্যাপ্লিকেশনের অভ্যন্তরীণ) এবং তারা জ্যাক স্পর্শ করে না। শিশুদের স্কোপ সহ নির্দেশাবলী কার্যকারিতা যুক্ত করে তবে এগুলি কেবল কার্যকারিতা নয়। শেষ অবধি, বিচ্ছিন্ন স্কোপগুলি সেই নির্দেশনার জন্য যা পুরো লক্ষ্য; তারা স্বতন্ত্র, সুতরাং তাদের দুষ্টু হতে দেওয়া ঠিক আছে (এবং সর্বাধিক "সঠিক")।
আমি আমার প্রাথমিক চিন্তাভাবনাগুলি বের করে আনতে চেয়েছিলাম, তবে আমি আরও কিছু জিনিস নিয়ে চিন্তা করার সাথে সাথে এটি আপডেট করব। তবে পবিত্র জঞ্জাল - এটি একটি উত্তরের জন্য দীর্ঘ ...
পিএস: সম্পূর্ণরূপে স্পর্শকাতর, তবে যেহেতু আমরা স্কোপগুলির বিষয়ে কথা বলছি, আমি "প্রোটোটাইপিকাল" বলতে পছন্দ করি তবে অন্যরা "প্রোটোটাইপাল" পছন্দ করে, এটি আরও নির্ভুল বলে মনে হয় তবে কেবল জিভটি বন্ধ করে দেয় না well :-)