এনজি-অ্যাপ এবং ডেটা-এনজি-অ্যাপের মধ্যে পার্থক্য কী?


147

আমি AngularJS সম্পর্কে শিখতে শুরু করেছি ng-appএবং data-ng-appনির্দেশাবলী এবং নির্দেশাবলীর মধ্যে পার্থক্য কী তা সম্পর্কে বিভ্রান্ত হয়ে পড়েছি ।



8
@ চেনরুই - এই প্রশ্নটি প্রথম বিটিডব্লিউ এসেছিল। (এপ্রিল 24 বনাম 16 ই মে)
blundering দার্শনিক

1
আপনার অ্যাপ্লিকেশনটির প্রভাব পড়বে না এবং আপনি এনজি-অ্যাপ বা ডেটা-এনজি-অ্যাপ ব্যবহার করলেও কৌনিকটি আশানুরূপভাবে কাজ করবে তবে @ ব্যবহারকারী 2289659 ডেটা ব্যবহার করে উল্লেখ করেছেন- * এইচটিএমএল 5 এর পরে কাস্টম অ্যাট্রিবিউট স্ট্যান্ডার্ড প্রবর্তন করা হয়েছে
শুজাথ খান

উত্তর:


125

এই উত্তরগুলির বেশিরভাগই কেবল এই শর্তগুলির অর্থ কী তা ব্যাখ্যা না করেই টেমপ্লেটটিকে বৈধ এইচটিএমএল বা এইচটিএমএল ভ্যালিডেটরকে সামঞ্জস্যপূর্ণ করে তোলে

আমি নিশ্চিতভাবে জানি না, তবে আমি অনুমান করছি যে এই শর্তগুলি এইচটিএমএল বৈধকরণ প্রোগ্রামগুলিতে প্রযোজ্য যা মান সম্মতকরণের জন্য আপনার কোডটি স্ক্যান করে - এই জাতীয় লিঙ্ক like তারা ng-appকোনও বৈধ বৈশিষ্ট্য হিসাবে স্বীকৃতি দেয় না । তারা প্রত্যাশা করে যে নন ডিফল্ট এইচটিএমএল বৈশিষ্ট্যগুলির সাথে এটি পূর্ববর্তী হবে

data-attribute_name_here

সুতরাং, নির্মাতারা AngularJSতাদের নির্দেশাবলীর জন্য বিকল্প নাম তৈরি করেছেন যা তাদের data-সামনে অন্তর্ভুক্ত করে যাতে এইচটিএমএল বৈধকরণকারী প্রোগ্রামগুলি তাদের "পছন্দ" করে।


4
"ঠিক আছে" এর জন্য +1, তবে, 'বৈধকারীর অনুগত' এর অর্থ কী? " কাছে। আপনি যদি গবেষণাটি করে থাকেন তবে আপনি জানতে পেরেছিলেন যে আপনি বেশিরভাগই সঠিক অনুমান করছেন। =)
স্ল্যাকট্রেসার

22
বৈধ এইচটিএমএল এইচটিএমএল যাচাইকারীদের জন্য নয়। ব্রাউজারগুলি এইচটিএমএল পার্স করে। আপনি যদি এইচটিএমএল স্পেসিফিকেশন থেকে বিচ্যুতি শুরু করেন তবে আপনার এইচটিএমএলটি সঠিকভাবে পার্স হওয়ার কোনও গ্যারান্টি নেই।
ব্লেন্ডার

1
হ্যাঁ, বৈধকরণকারীরা শেষের একটি মাধ্যম। লক্ষ্যটি হ'ল আপনার ওয়েব পৃষ্ঠাগুলি যতটা সম্ভব চশমাগুলির নিকটবর্তী করা, যা ব্রাউজারগুলির সংখ্যা - পুরাতন, বর্তমান এবং ভবিষ্যত - সর্বাধিক করে তোলে - যেখানে আপনার অ্যাপ্লিকেশনটি প্রত্যাশা মতো বাস্তবে কাজ করবে। "ডেটা- *" এর ক্ষেত্রে, ঝুঁকিপূর্ণ ব্রাউজারগুলি স্ট্যান্ডার্ড হিসাবে একই বৈশিষ্ট্যটি প্রবর্তন করতে পারে যা আপনার অ্যাপ্লিকেশনটির বৈশিষ্ট্যের সাথে সংঘর্ষিত হবে। এছাড়াও, এর মতো মানদণ্ডগুলিকে আটকে রাখলে সরঞ্জামগুলি (যেমন সম্পাদকরা) এটি উপলব্ধি করতে এবং সেগুলি আপনার পক্ষে আরও দরকারী করে তুলতে সহায়তা করবে।
মাহমুফ

2
@ ব্লেন্ডার "আপনার এইচটিএমএল সঠিকভাবে পার্স হবে" এর কোনও গ্যারান্টি নেই ", বৈধ এইচটিএমএল জন্য একই কথা বলা যেতে পারে।
twiz

1
@ চক আমি আপনাকে একভাবে বা অন্যভাবে এটি করার পরামর্শ দিচ্ছি না, কেবল সমস্যাটি গুরুত্বপূর্ণ নয়। ট্যাবগুলি থাকা অবস্থায় আমরা স্পেস বনাম ফাঁকা বিতর্ক করতে পারি। হা হা
টুইজ

41

রানটাইম আচরণের ক্ষেত্রে কোনওটি নয়, এগুলি এখানে বর্ণিত নামকরণের নির্দেশের বিভিন্ন ধরণের: http://docs.angularjs.org/guide/directive

দিকনির্দেশকরা উট কেসড নাম যেমন এনজিবিন্ড। এই বিশেষ চরিত্রের সাহায্যে উটের মামলার নামটি সাপের ক্ষেত্রে অনুবাদ করে দিকনির্দেশনাটি আহ্বান করা যেতে পারে। এটি এইচটিএমএল যাচাইকারীকে সামঞ্জস্যপূর্ণ করার জন্য validচ্ছিকভাবে নির্দেশকে এক্স- বা ডেটা দিয়ে উপসর্গ করা যেতে পারে। এখানে সম্ভাব্য কয়েকটি নির্দেশের নামের একটি তালিকা রয়েছে: এনজি: বাইন্ড, এনজি-বাইন্ড, এনজি_বাইন্ড, এক্স-এনজি-বাইন্ড এবং ডেটা-এনজি-বাইন্ড।

আপনি এটি পড়া থেকে দেখতে data-পারেন যে আপনার এইচটিএমএল পাস এইচটিএমএল বৈধতা পরীক্ষার /


2
এইচটিএমএল এর স্পেসিফিকেশন যেখানে এর জন্য অনুমতি দেয়?
ব্যবহারকারী 1876508

3
@ ব্যবহারকারী 1876508: w3.org/TR/2011/WD-html5-20110525/…
pkozlowski.opensource

6

আপনি কৌণিক নেমস্পেস ঘোষণা করতে পারেন <html xmlns:ng="http://angularjs.org" ng-app>


2
এটি কেবলমাত্র লিগ্যাসি অ্যাপ্লিকেশনগুলির জন্যই প্রযোজ্য বলে মনে হয়: "আপনি যদি পুরানো শৈলীর নির্দেশিক সিনট্যাক্স এনজি ব্যবহার করতে বেছে নেন: তবে আইআইএলকে খুশি করতে এইচটিএমএলতে এক্সএমএল-নেমস্পেস অন্তর্ভুক্ত করুন। (এটি historicalতিহাসিক কারণে এখানে রয়েছে, এবং আমরা আর ব্যবহারের প্রস্তাব দিই না NG :.) "। সূত্র: docs.angularjs.org/guide/bootstrap
চক লে বাট

5

আধুনিক ব্রাউজারগুলিতে কোনও পার্থক্য নেই, তবে পুরানো আইইগুলিতে, আপনি এটি XML নেমস্পেসের সংজ্ঞা দেওয়া না হলে তারা কাজ করবে না।

এর মধ্যে বৈধতা পার্থক্য রয়েছে যা ng-appবৈধ এক্সএইচটিএমএল নয়, এবং আপনার ওয়েবপৃষ্ঠা এইচটিএমএল বৈধতা ব্যর্থ করে দেবে। কৌণিক সাহায্যে আপনাকে এর নির্দেশিকাগুলির উপসর্গ করতে data-বা x-এটি বৈধ করার অনুমতি দেয়।


আপনি যদি "এনজি:" ব্যবহার করেন তবে এটি কেবল সত্য বলে মনে হয়। আমি বিশ্বাস করি "ডেটা-এনজি-" বৈধ হওয়া উচিত।
চক লে বাট

4

আপনি যদি নিজের পৃষ্ঠা HTML টি বৈধ করতে চান তবে আপনি এনজি- এর পরিবর্তে ডেটা-এনজি- ব্যবহার করতে পারেন।
এটি একটি ত্রুটি নিক্ষেপ করবে

<div ng-app="">

  <p>Input something in the input box:</p>
  <p>Name: <input type="text" ng-model="name"></p>
  <p ng-bind="name"></p>

</div>

এটি কোনও ত্রুটি ফেলবে না

<div data-ng-app="scope" data-ng-init="name='test'">

  <p>Input something in the input box:</p>
  <p>Name: <input type="text" data-ng-model="name"></p>
  <p data-ng-bind="name"></p>

</div>

আপনি দয়া করে ব্যাখ্যা করতে পারেন কেন প্রথম দৃশ্যে কোনও ত্রুটি হবে?
আওনি

এটি ডাব্লু 3 সি বৈধতা উল্লেখ করছে।
গ্রাহাম পি হিথ

3

এই দুটি শর্তাবলীর মধ্যে মূল পার্থক্য হ'ল ডেটা-এনজি-অ্যাপ্লিকেশনটি এইচটিএমএলকে বৈধতা দেয় যখন পরবর্তীকালে হয় না un কার্যকারিতা একই থাকে। আরও রেফারেন্সের জন্য আপনি ডাব্লু 3 ভ্যালিডেটর চেষ্টা করতে পারেন।


-2

একেবারে উভয়ের মধ্যে কোনও পার্থক্য নেই, নির্দিষ্ট HTML5 বৈধকারকরা এনজি-অ্যাপের মতো কোনও সম্পত্তিতে ত্রুটি ফেলবে তবে তারা ডেটা-এনজি-অ্যাপের মতো ডেটা-প্রিফিক্সযুক্ত কোনও কিছুর জন্য ত্রুটি ফেলবে না। সুতরাং আমাদের কৌনিক নির্দেশাবলীর সাথে ডেটা-উপসর্গ ব্যবহার করা ভাল।

এমনকি আপনি এনজি-বাইন্ড, এনজি: বাইন্ড, এনজি_বাইন্ড, ডেটা-এনজি-বাইন্ড, এক্স-এনজি-বাইন্ড নীচে উল্লিখিত উপায়ে কৌণিক নির্দেশিকা ব্যবহার করতে পারেন

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