আমি কীভাবে আমার $ স্কোপ অবজেক্টটি একজন নিয়ন্ত্রণকারী থেকে অন্যটিতে প্রেরণ করতে পারি। নির্গত এবং mit পদ্ধতিতে?
আপনি নিজের অ্যাপ্লিকেশনটির হায়ারার্কির মধ্যে want স্কোপ সহ যে কোনও অবজেক্টটি প্রেরণ করতে পারবেন ।
এখানে সম্প্রচার এবং নির্গতকরণ কীভাবে কাজ করবে সে সম্পর্কে একটি দ্রুত ধারণা দেওয়া হয়েছে idea
নীচের নোডগুলি লক্ষ্য করুন; সব নোড 3. আপনি ব্যবহার মধ্যে নেস্টেড সম্প্রচারের এবং নির্গত আপনি এই দৃশ্যকল্প আছে।
দ্রষ্টব্য: এই উদাহরণে প্রতিটি নোডের সংখ্যা নির্বিচারে; এটি সহজেই প্রথম এক হতে পারে; দুই নম্বর; বা এমনকি সংখ্যা 1,348। প্রতিটি সংখ্যা এই উদাহরণের জন্য কেবল একটি সনাক্তকারী। এই উদাহরণের মূল বিষয়টি হল কৌণিক নিয়ন্ত্রণকারী / নির্দেশিকাগুলির বাসা বাঁধাই।
3
------------
| |
----- ------
1 | 2 |
--- --- --- ---
| | | | | | | |
এই গাছটি দেখুন। আপনি নিম্নলিখিত প্রশ্নগুলির উত্তর কীভাবে দেবেন?
দ্রষ্টব্য: এই প্রশ্নের উত্তর দেওয়ার অন্যান্য উপায় রয়েছে তবে এখানে আমরা সম্প্রচার এবং নির্গমন নিয়ে আলোচনা করব । এছাড়াও, পাঠ্যের নীচে পড়ার সময় প্রতিটি সংখ্যার নিজস্ব ফাইল (নির্দেশিকা, নিয়ন্ত্রক) প্রাক্তন one.js, two.js, three.js রয়েছে বলে ধরে নিন।
নোড 1 নোড 3 এর সাথে কীভাবে কথা বলতে পারে ?
ওয়ান.জেএস ফাইল- এ
scope.$emit('messageOne', someValue(s));
থ্রি.জেএস ফাইল - সমস্ত বাচ্চাদের যোগাযোগের জন্য নোডের উপরের নোড।
scope.$on('messageOne', someValue(s));
নোড 2 নোড 3 এর সাথে কীভাবে কথা বলতে পারে?
Two.js ফাইল এ
scope.$emit('messageTwo', someValue(s));
থ্রি.জেএস ফাইল - সমস্ত বাচ্চাদের যোগাযোগের জন্য নোডের উপরের নোড।
scope.$on('messageTwo', someValue(s));
নোড 3 নোড 1 এবং / অথবা নোড 2 এর সাথে কীভাবে কথা বলতে পারে?
থ্রি.জেএস ফাইল - সমস্ত বাচ্চাদের যোগাযোগের জন্য নোডের উপরের নোড।
scope.$broadcast('messageThree', someValue(s));
ফাইলের মধ্যে one.js && two.js যেটা আপনি যে ফাইলটি বার্তা বা উভয় ধরতে চাই।
scope.$on('messageThree', someValue(s));
নোড 2 নোড 1 এর সাথে কীভাবে কথা বলতে পারে?
Two.js ফাইল এ
scope.$emit('messageTwo', someValue(s));
থ্রি.জেএস ফাইল - সমস্ত বাচ্চাদের যোগাযোগের জন্য নোডের উপরের নোড।
scope.$on('messageTwo', function( event, data ){
scope.$broadcast( 'messageTwo', data );
});
ওয়ান.জেএস ফাইল- এ
scope.$on('messageTwo', someValue(s));
যাহোক
আপনি ভালো যোগাযোগ করার চেষ্টা সব নেস্টেড শিশু নোড আছে, আপনি দ্রুত অনেক দেখতে হবে এর উপর $ , $ সম্প্রচারের এর , এবং নির্গত এর $ ।
আমি যা করতে চাই তা এখানে।
উপরের প্যারেন্ট নোডে ( এই ক্ষেত্রে 3 ...), যা আপনার পিতামাতার নিয়ামক হতে পারে ...
সুতরাং, ফাইলের মধ্যে Three.js
scope.$on('pushChangesToAllNodes', function( event, message ){
scope.$broadcast( message.name, message.data );
});
এখন সন্তানের নোড কোনো আপনি শুধুমাত্র প্রয়োজন নির্গত $ বার্তা বা ব্যবহার করে এটি ধরা এ $ ।
দ্রষ্টব্য: সাধারণত $ এমিট , $ সম্প্রচার বা using অন ব্যবহার না করেই কোনও নেস্টেড পথে আলাপটি অতিক্রম করা সহজ , যার অর্থ আপনি যখন নোড 2 বা তদ্বিপরীতভাবে যোগাযোগ করার জন্য নোড 1 পাওয়ার চেষ্টা করছেন তখন বেশিরভাগ ব্যবহারের ক্ষেত্রে হয়।
নোড 2 নোড 1 এর সাথে কীভাবে কথা বলতে পারে?
Two.js ফাইল এ
scope.$emit('pushChangesToAllNodes', sendNewChanges());
function sendNewChanges(){ // for some event.
return { name: 'talkToOne', data: [1,2,3] };
}
থ্রি.জেএস ফাইল - সমস্ত বাচ্চাদের যোগাযোগের জন্য নোডের উপরের নোড।
আমরা ইতিমধ্যে এটি মনে রাখবেন একটি পরিচালনা?
ওয়ান.জেএস ফাইল- এ
scope.$on('talkToOne', function( event, arrayOfNumbers ){
arrayOfNumbers.forEach(function(number){
console.log(number);
});
});
আপনি এখনও ব্যবহার করতে হবে এ $ আপনি ধরতে চান প্রতিটি নির্দিষ্ট মান দিয়ে, কিন্তু এখন আপনি হিসাবে আমরা ধরতে এবং আপনার নোড কোনো মত যাই হোক না কেন কিভাবে পিতা বা মাতা নোডের ফাঁক জুড়ে বার্তা পেতে সম্পর্কে চিন্তা না করেও তৈরি করতে পারেন সম্প্রচারের জেনেরিক পুশচেনজেটসঅলনোডস ।
আশাকরি এটা সাহায্য করবে...
$rootScope
যখন এড়ানো যায় তখন সম্প্রচার / নির্গতের জন্য ব্যবহার করবেন না ।