আপনি যদি কেবল কোনও মান সঞ্চয় করতে চান তবে সরবরাহকারীদের কৌনিক ডকুমেন্টেশন অনুসারে , আপনার মান রেসিপিটি ব্যবহার করা উচিত:
var myApp = angular.module('myApp', []);
myApp.value('clientId', 'a12345654321x');
তারপরে এটি একটি নিয়ামক হিসাবে এটি ব্যবহার করুন:
myApp.controller('DemoController', ['clientId', function DemoController(clientId) {
this.clientId = clientId;
}]);
সরবরাহকারী, কারখানা বা পরিষেবা ব্যবহার করে একই জিনিস অর্জন করা যায় যেহেতু তারা "সরবরাহকারীর রেসিপির উপরে কেবল সিনট্যাকটিক চিনি" তবে মান ব্যবহার করে ন্যূনতম সিনট্যাক্সের সাথে আপনি যা চান তা অর্জন করবে।
অন্য বিকল্পটি হ'ল ব্যবহার করা $rootScope
, তবে এটি সত্যই কোনও বিকল্প নয় কারণ আপনি অন্য ভাষায় বৈশ্বিক ভেরিয়েবলগুলি ব্যবহার না করা একই কারণে আপনি এটি ব্যবহার করবেন না। এটি অল্প পরিমাণে ব্যবহার করার পরামর্শ দেওয়া হচ্ছে।
যেহেতু সমস্ত স্কোপ উত্তরাধিকার সূত্রে প্রাপ্ত $rootScope
, আপনার যদি কোনও ভেরিয়েবল থাকে $rootScope.data
এবং কেউ যদি ভুলে যায় যা data
ইতিমধ্যে সংজ্ঞায়িত হয়েছে এবং $scope.data
একটি স্থানীয় সুযোগ তৈরি করে ফেলেছে তবে আপনি সমস্যায় পড়বেন।
আপনি যদি এই মানটি সংশোধন করতে চান এবং এটি আপনার সমস্ত কন্ট্রোলার জুড়েই থাকতে চান তবে একটি অবজেক্ট ব্যবহার করুন এবং জাভাস্ক্রিপ্টকে "রেফারেন্সের অনুলিপি" দিয়ে পাস করার বৈশিষ্ট্যগুলি মাথায় রেখে সংশোধন করুন :
myApp.value('clientId', { value: 'a12345654321x' });
myApp.controller('DemoController', ['clientId', function DemoController(clientId) {
this.clientId = clientId;
this.change = function(value) {
clientId.value = 'something else';
}
}];
জেএসফিডেলের উদাহরণ