Ví dụ sau đây giúp chúng ta ra khỏi khởi tạo một tiện ích sang trang. Đầu tiên một div được tạo ra - với một chút jQuery - cho tiện ích tải mẫu với một số ng-include
, nó được điều khiển bởi WidgetLogoController
. Tiếp theo, một mô-đun WidgetConfig
được tạo để giữ cấu hình của tiện ích.
$('#pageWidget').html(`<ng-include src="'/dist/templates/widgetLogo.html'"></ng-include>`)
.attr('ng-controller','WidgetLogoController');
var widgetConfig = {
'widgetId': data.pageWidgetId,
'areaId': data.area,
'pageId': data.pageId
};
angular.module('WidgetConfig', []).value('WidgetConfig', widgetConfig);
angular.bootstrap(document.getElementById('pageWidget'), ['Widget', 'WidgetConfig']);
Widget
mô-đun bao gồm các cấu hình WidgetConfig
nhưng cũng có một chỗ cho nó sở hữu trong CONFIG
:
(function (window, angular) {
'use strict';
window.app = angular.module('Widget', ['ngFileUpload', 'WidgetConfig'])
.constant('CONFIG', {
BASE_URL: 'http://osage.brandportal.com/'
});
})(window, angular);
WidgetController
có thể truy cập CONFIG
và WidgetConfig
.
(function (app) {
'use strict';
app.controller('WidgetLogoController', ['CONFIG', 'WidgetConfig',
function(CONFIG, WidgetConfig){
console.log('---WidgetLogoController');
console.log('CONFIG', CONFIG);
console.log('WidgetConfig', WidgetConfig);
}]);
}(app));
Nguồn
2016-07-14 07:12:18
Vâng, tôi hiện đang sử dụng một mô-đun ghi đè dịch vụ 'Config' được xác định trên mô-đun ban đầu, điều này có vẻ như nó sẽ hoạt động tốt, với một chút ít gõ. Nỗi đau duy nhất về nó, là tôi phải tạo ra một chuỗi cho tên module mới. Bất kỳ cách nào để làm cho các mô-đun không tên, và chỉ cần vượt qua các đối tượng mô-đun để phụ thuộc của bootstrap? Tôi không thể làm điều đó. – doubledriscoll
Bạn không phải cung cấp tên duy nhất cho mô-đun cấu hình của mình. Bạn chỉ có thể ghi đè lên cái cũ khi bạn bootstrap ví dụ tiếp theo của bạn. Xem tại đây: http://jsfiddle.net/Sjeiti/eT4Z5/ – Sjeiti
đẹp Sjeiti :-) –