ใช้อย่างไรและที่ไหนapp.run()
? หลังจากนิยามโมดูลหลังapp.config()
หรือหลังapp.controller()
?
ฉันใช้BreezeJS Angular Qซึ่งถามว่ารหัสบางอย่างสามารถทำงานในapp.run()
ฟังก์ชั่นนี้ได้หรือไม่
ใช้อย่างไรและที่ไหนapp.run()
? หลังจากนิยามโมดูลหลังapp.config()
หรือหลังapp.controller()
?
ฉันใช้BreezeJS Angular Qซึ่งถามว่ารหัสบางอย่างสามารถทำงานในapp.run()
ฟังก์ชั่นนี้ได้หรือไม่
คำตอบ:
นี่คือคำสั่งโทร:
app.config()
app.run()
app.controller()
นี่คือตัวอย่างง่ายๆที่คุณสามารถดูการดำเนินการแต่ละรายการ (และทดลองหากคุณต้องการ)
Run blocks - เรียกใช้งานหลังจากสร้าง injector และใช้เพื่อเริ่มต้นแอปพลิเคชัน อินสแตนซ์และค่าคงที่เท่านั้นที่สามารถถูกฉีดเข้าไปในบล็อกที่รัน นี่คือการป้องกันการกำหนดค่าระบบเพิ่มเติมในช่วงเวลาทำงานของโปรแกรมประยุกต์
Run blocks เป็นสิ่งที่ใกล้เคียงที่สุดใน Angular กับวิธีการหลัก บล็อกการเรียกใช้คือรหัสที่จำเป็นต้องเรียกใช้เพื่อเริ่มต้นแอปพลิเคชัน มันจะถูกดำเนินการหลังจากบริการทั้งหมดได้รับการกำหนดค่าและสร้างหัวฉีด โดยทั่วไปบล็อกการรันมีโค้ดที่ยากต่อการทดสอบหน่วยและด้วยเหตุผลนี้ควรประกาศในโมดูลแยกเพื่อให้สามารถละเว้นในการทดสอบหน่วย
สถานการณ์หนึ่งที่ทำงานบล็อกถูกนำมาใช้เป็นช่วงauthentications
ใช้อย่างไรและที่ไหน
app.run()
? หลังจากนิยามโมดูลหรือหลังapp.config()
หลังจากที่app.controller()
?
ใน package.js ของคุณเช่น /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'
});