আপনি যদি একজন নিয়ন্ত্রণকারীকে অন্যটিতে কল করতে চান তবে এখানে চারটি পদ্ধতি উপলব্ধ রয়েছে
- $ রুটস্কোপ। $ নির্গত () এবং $ রুটস্কোপ $ সম্প্রচার ()
- দ্বিতীয় নিয়ামক যদি শিশু হয় তবে আপনি পিতামাতার শিশু যোগাযোগ ব্যবহার করতে পারেন।
- পরিষেবাগুলি ব্যবহার করুন
- ধরণের হ্যাক - কৌণিক.এলিমেন্টের সাহায্যে ()
1. $ রুটস্কোপ। Mit নির্গত () এবং $ রুটস্কোপ। সম্প্রচার ()
কন্ট্রোলার এবং এর ব্যাপ্তিটি ধ্বংস হয়ে যেতে পারে, তবে $ রুটস্কোপ অ্যাপ্লিকেশন জুড়ে রয়েছে, সে কারণেই আমরা $ রুটস্কোপ নিচ্ছি কারণ $ রুটস্কোপ সমস্ত স্কোপের পিতা বা মাতা।
আপনি যদি অভিভাবক থেকে সন্তানের কাছে যোগাযোগ সম্পাদন করে থাকেন এবং এমনকি শিশু তার ভাইবোনদের সাথে যোগাযোগ করতে চায় তবে আপনি $ সম্প্রচারটি ব্যবহার করতে পারেন
যদি আপনি বাচ্চা থেকে পিতামাতার কাছে যোগাযোগ সম্পাদন করে থাকেন তবে কোনও ভাইবোন চলাফেরা করে না তবে আপনি $ rootScope $ emit ব্যবহার করতে পারেন mit
এইচটিএমএল
<body ng-app="myApp">
<div ng-controller="ParentCtrl" class="ng-scope">
// ParentCtrl
<div ng-controller="Sibling1" class="ng-scope">
// Sibling first controller
</div>
<div ng-controller="Sibling2" class="ng-scope">
// Sibling Second controller
<div ng-controller="Child" class="ng-scope">
// Child controller
</div>
</div>
</div>
</body>
Angularjs কোড
var app = angular.module('myApp',[]);//We will use it throughout the example
app.controller('Child', function($rootScope) {
$rootScope.$emit('childEmit', 'Child calling parent');
$rootScope.$broadcast('siblingAndParent');
});
app.controller('Sibling1', function($rootScope) {
$rootScope.$on('childEmit', function(event, data) {
console.log(data + ' Inside Sibling one');
});
$rootScope.$on('siblingAndParent', function(event, data) {
console.log('broadcast from child in parent');
});
});
app.controller('Sibling2', function($rootScope) {
$rootScope.$on('childEmit', function(event, data) {
console.log(data + ' Inside Sibling two');
});
$rootScope.$on('siblingAndParent', function(event, data) {
console.log('broadcast from child in parent');
});
});
app.controller('ParentCtrl', function($rootScope) {
$rootScope.$on('childEmit', function(event, data) {
console.log(data + ' Inside parent controller');
});
$rootScope.$on('siblingAndParent', function(event, data) {
console.log('broadcast from child in parent');
});
});
উপরের কোডে "ইমিট 'চাইল্ডইমিট" শিশু ভাইবোনদের মধ্যে কল করবে না এবং এটি কেবল পিতামাতার ভিতরে কল করবে, যেখানে $ সম্প্রচারকে ভাইবোন এবং অভিভাবকদের মধ্যেও ডাকা হবে। এটি সেই জায়গা যেখানে কর্মক্ষমতা কার্যকর হয় into অগ্রাধিকারযোগ্য, যদি আপনি অভিভাবক যোগাযোগের জন্য শিশুকে ব্যবহার করছেন কারণ এটি কিছু নোংরা চেক এড়িয়ে চলেছে।
২. যদি দ্বিতীয় নিয়ামক শিশু হন তবে আপনি চাইল্ড প্যারেন্ট যোগাযোগ ব্যবহার করতে পারেন
এটির সেরা পদ্ধতিগুলির মধ্যে একটি, আপনি যদি শিশু অভিভাবক যোগাযোগ করতে চান যেখানে শিশুটি তাত্ক্ষণিক পিতামাতার সাথে যোগাযোগ করতে চায় তবে তার জন্য কোনও প্রকারের সম্প্রচার বা $ নির্গমনের প্রয়োজন হবে না তবে আপনি যদি পিতামাতার কাছ থেকে সন্তানের কাছে যোগাযোগ করতে চান তবে আপনাকে অবশ্যই করতে হবে কোনও পরিষেবা বা $ সম্প্রচার ব্যবহার করুন
উদাহরণস্বরূপ এইচটিএমএল: -
<div ng-controller="ParentCtrl">
<div ng-controller="ChildCtrl">
</div>
</div>
Angularjs
app.controller('ParentCtrl', function($scope) {
$scope.value='Its parent';
});
app.controller('ChildCtrl', function($scope) {
console.log($scope.value);
});
আপনি যখনই বাচ্চাকে পিতামাতার যোগাযোগের জন্য ব্যবহার করছেন, অ্যাংুলারজগুলি বাচ্চার অভ্যন্তরে একটি পরিবর্তনশীল সন্ধান করবে, যদি এটি ভিতরে উপস্থিত না থাকে তবে এটি পিতা বা মাতা নিয়ামকের অভ্যন্তরের মানগুলি দেখতে পছন্দ করবে।
3.উস সার্ভিস
অ্যাঙ্গুলারজেএস পরিষেবাদি আর্কিটেকচার ব্যবহার করে "কনসার্নস অফ সেকশনস" ধারণার সমর্থন করে । পরিষেবাদি জাভাস্ক্রিপ্ট ফাংশন এবং কেবলমাত্র একটি নির্দিষ্ট কাজগুলি করার জন্য দায়বদ্ধ his এটি তাদেরকে একটি পৃথক সত্তা করে তোলে যা রক্ষণাবেক্ষণযোগ্য এবং পরীক্ষামূলক।
Angularjs কোড:
app.service('communicate',function(){
this.communicateValue='Hello';
});
app.controller('ParentCtrl',function(communicate){//Dependency Injection
console.log(communicate.communicateValue+" Parent World");
});
app.controller('ChildCtrl',function(communicate){//Dependency Injection
console.log(communicate.communicateValue+" Child World");
});
এটি আউটপুট দেয় হ্যালো চাইল্ড ওয়ার্ল্ড এবং হ্যালো প্যারেন্ট ওয়ার্ল্ড। পরিষেবাদিগুলির কৌনিক ডক্স অনুসারে সিলেটলেটস - কোনও পরিষেবার উপর নির্ভরশীল প্রতিটি উপাদান পরিষেবা কারখানার দ্বারা উত্পন্ন একক উদাহরণের একটি রেফারেন্স পায় ।
4. হ্যাকের ধরণ - কৌণিক.এলিমেন্টের সাহায্যে ()
এই পদ্ধতিটি তার আইডি / অনন্য শ্রেণীর দ্বারা উপাদান থেকে সুযোগ পায়।
এইচটিএমএল: -
<div id='parent' ng-controller='ParentCtrl'>{{varParent}}
<span ng-click='getValueFromChild()'>Click to get ValueFormChild</span>
<div id='child' ng-controller='childCtrl'>{{varChild}}
<span ng-click='getValueFromParent()'>Click to get ValueFormParent </span>
</div>
</div>
Angularjs: -
app.controller('ParentCtrl',function($scope){
$scope.varParent="Hello Parent";
$scope.getValueFromChild=function(){
var childScope=angular.element('#child').scope();
console.log(childScope.varChild);
}
});
app.controller('ChildCtrl',function($scope){
$scope.varChild="Hello Child";
$scope.getValueFromParent=function(){
var parentScope=angular.element('#parent').scope();
console.log(parentScope.varParent);
}
});
উপরের কোড কন্ট্রোলাররা এইচটিএমএলে তাদের নিজস্ব মান দেখাচ্ছে এবং আপনি যখন পাঠ্যের উপর ক্লিক করবেন তখন সেই অনুসারে আপনি কনসোলে মান পাবেন I