AngularJS app.run () ডকুমেন্টেশন?


337

কিভাবে এবং কোথায় app.run()ব্যবহৃত হয়? মডিউল সংজ্ঞা দেওয়ার পরে, পরে app.config()নাকি app.controller()?

আমি ব্রিজেজেএস অ্যাংুলার কিউ গ্রহণ করছি , যা ফাংশনে নির্দিষ্ট কোড চালানো যেতে পারে কিনা তা জিজ্ঞাসা app.run()করে।


2
এবং যে কোনও কৌণিক মডিউল পরে। কনস্ট্যান্টস () সেট করা হয়েছে
alfonsob

উত্তর:


650

এখানে কলিং অর্ডার:

  1. app.config()
  2. app.run()
  3. নির্দেশকের সংকলন ফাংশন (যদি তারা ডোমে পাওয়া যায়)
  4. app.controller()
  5. নির্দেশকের লিঙ্ক ফাংশন (আবার, যদি পাওয়া যায়)

এখানে একটি সাধারণ ডেমো রয়েছে যেখানে আপনি প্রত্যেকে এক্সিকিউটিভ দেখতে পারেন (এবং যদি আপনি চান তবে পরীক্ষা করুন)।

থেকে কৌণিক এর মডিউল ডক্স :

ব্লকগুলি চালান - ইনজেক্টর তৈরি হওয়ার পরে কার্যকর হয়ে যায় এবং অ্যাপ্লিকেশনটি কিকস্টার্ট করতে ব্যবহৃত হয়। কেবলমাত্র দৃষ্টান্ত এবং ধ্রুবকগুলিকে রান ব্লকগুলিতে ইনজেকশন দেওয়া যায়। এটি অ্যাপ্লিকেশন চলাকালীন সময় আরও সিস্টেম কনফিগারেশন প্রতিরোধ করা হয়।

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

একটি পরিস্থিতি যেখানে রান ব্লক ব্যবহৃত হয় তা প্রমাণীকরণের সময় ।


4
@ কায়কডেভ আমি নিশ্চিত নই যে এটি বিষয়টি বন্ধ কিনা তবে আপনি উপরে উল্লিখিত রান ক্রমের সাথে সম্পর্কিত, পরিষেবাগুলি কখন আরম্ভ করা হবে এবং সেগুলি কখন চালিত হবে?
জনি

3
আপনাকে @ জনিএমএমে সাহায্য করতে সম্ভবত কিছুটা দেরি হয়েছে, তবে পরিষেবাগুলি যখন প্রথমে প্রয়োজন হয় তার উপর নির্ভর করে কার্যকর করা হবে - অর্থাত্ যদি আপনাকে প্রথমে কোনও রান ব্লকে কোনও পরিষেবা প্রয়োজন হয় তবে তা এই ব্লকের সাথে সাথেই কার্যকর করা হবে। সরবরাহকারীদের হিসাবে, বিরক্তিকরভাবে, তারা কোডে কোন অর্ডার আসে তার উপর নির্ভর করে - তারা কনফিগার ব্লকের আগে বা পরে চলবে। আপনি যখন একবার সরাসরি সরবরাহকারীর ব্যবহারটি কনফিগার পর্যায়ে এসেছেন তা বিবেচনা করে, এটি সঠিক বলে মনে হচ্ছে না।
জ্যাক শেঠ

2
হাই, আমি কারখানার লোডটি দেখানোর জন্য আপনার ফিডল নমুনাকে কাঁটাচামচ ও সংশোধন করেছি: jsfiddle.net/lorezz/4cxgpLqj/1
লোরেজ

1
অসাধারণ. পুঙ্খানুপুঙ্খভাবে হতে, অ্যাপকন্টনস্ট্যান্ট () ফাংশনগুলি সমস্ত কিছুর আগেই শুরু হয় ... এবং অ্যাপ.ফ্যাক্টরি () এবং অন্যান্য পরিষেবা ফাংশন "আলস্যভাবে" অনুরোধ করা হয়। অন্য কথায়, অ্যাংুলার কেবলমাত্র পরিষেবা নিয়ন্ত্রণ তৈরি করতে প্রদত্ত ফাংশনগুলি ব্যবহার করে কেবল তখনই যখন কোনও নিয়ামক বা অন্য কোনও পরিষেবাতে এটির প্রয়োজন হয়, এমনকি অ্যাপটি শুরু হওয়ার অনেক পরেও that's
নিকো বেলিক

একটি আয়নিক প্রকল্পে, কনফিগার করার আগে ডিফল্টরূপে রান বলা হয়। তা কেন?
রায়জ্যাক্স

28

বিশেষ করে ...

কিভাবে এবং কোথায় app.run()ব্যবহৃত হয়? মডিউল সংজ্ঞা দেওয়ার app.config()পরে app.controller()নাকি পরে ?

কোথায়:

আপনার প্যাকেজ মধ্যে। উদাহরণস্বরূপ /packages/dashboard/public/controllers/dashboard.js

কিভাবে:

এটি দেখতে এইরকম করুন

var app = angular.module('mean.dashboard', ['ui.bootstrap']);

app.controller('DashboardController', ['$scope', 'Global', 'Dashboard',
    function($scope, Global, Dashboard) {
        $scope.global = Global;
        $scope.package = {
            name: 'dashboard'
        };
        // ...
    }
]);

app.run(function(editableOptions) {
    editableOptions.theme = 'bs3'; // bootstrap3 theme. Can be also 'bs2', 'default'
});
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.