Apakah ada cara untuk memasukkan ketergantungan terlambat ke modul sudut yang sudah di-bootstrap? Inilah yang saya maksud:
Misalnya saya memiliki aplikasi sudut lebar situs, yang didefinisikan sebagai:
// in app.js
var App = angular.module("App", []);
Dan di setiap halaman:
<html ng-app="App">
Nanti, saya membuka kembali aplikasi untuk menambahkan logika berdasarkan kebutuhan halaman saat ini:
// in reports.js
var App = angular.module("App")
App.controller("ReportsController", ['$scope', function($scope) {
// .. reports controller code
}])
Sekarang, mengatakan bahwa salah satu dari mereka on-demand bit logika juga membutuhkan dependensi mereka sendiri (seperti ngTouch
, ngAnimate
, ngResource
, dll). Bagaimana saya bisa melampirkannya ke Aplikasi dasar? Ini sepertinya tidak berhasil:
// in reports.js
var App = angular.module("App", ['ui.event', 'ngResource']); // <-- raise error when App was already bootstrapped
Saya menyadari bahwa saya dapat melakukan segalanya sebelumnya, yaitu -
// in app.js
var App = angular.module("App", ['ui.event', 'ngResource', 'ngAnimate', ...]);
Atau tentukan sendiri setiap modul, lalu masukkan semuanya ke dalam aplikasi utama ( lihat di sini untuk lebih lanjut ):
// in reports.js
angular.module("Reports", ['ui.event', 'ngResource'])
.controller("ReportsController", ['$scope', function($scope) {
// .. reports controller code
}])
// in home.js
angular.module("Home", ['ngAnimate'])
.controller("HomeController", ['$scope', '$http', function($scope, $http){
// ...
}])
// in app.js, loaded last into the page (different for every page that varies in dependencies)
var App = angular.module("App", ['Reports', 'Home'])
Tapi ini akan mengharuskan saya menginisialisasi App setiap saat dengan dependensi halaman saat ini.
Saya lebih suka untuk menyertakan dasar app.js
di setiap halaman dan hanya memperkenalkan ekstensi yang dibutuhkan untuk setiap halaman ( reports.js
, home.js
, dll), tanpa harus merevisi bootstrap logika setiap kali saya menambahkan atau menghapus sesuatu.
Adakah cara untuk memperkenalkan dependensi saat Aplikasi sudah di-bootstrap? Apa yang dianggap sebagai cara (atau cara) idiomatik untuk melakukan ini? Saya condong ke solusi yang terakhir, tetapi ingin melihat apakah cara yang saya jelaskan juga dapat dilakukan. Terima kasih.