2016-06-07 45 views
5

Cách được chấp thuận của việc ngoại suy chuỗi liên tục trong ứng dụng Angular 2, hoặc trong ứng dụng JavaScript nói chung là gì? Tôi có nghĩa là một cái gì đó như .properties tập tin trong Java, nơi mà các thuộc tính kết nối phụ trợ được lưu trữ.Góc bên ngoài 2 (tệp thuộc tính)

Theo như tôi biết, JavaScript không hỗ trợ đọc dễ dàng từ tệp ở cuối ứng dụng. Giải pháp hiện tại của tôi là sử dụng lớp dịch vụ có thể tiêm, lưu trữ các cặp khóa-giá trị làm thuộc tính đối tượng. Sau đó, tôi chỉ cần tiêm dịch vụ trong các dịch vụ khác mà cần những giá trị đó. Đây có phải là phương pháp có thể biện minh được hay JavaScript/A2 cung cấp một số cách thống nhất hơn để xử lý việc tiêm giá trị?

+1

Có gì đó làm việc theo tiến độ sẽ được phát hành "sớm" bởi đội ngũ góc. –

Trả lời

0

Tôi nghĩ rằng cách làm là đúng.

Bạn có thể khởi động không đồng bộ sau khi (các) yêu cầu hoàn tất. Dưới đây là một ví dụ:

var app = platform(BROWSER_PROVIDERS) 
    .application([BROWSER_APP_PROVIDERS, appProviders]); 

var service = app.injector.get(ConfigService); 

service.getConfig().flatMap((config) => { 
    var configProvider = new Provider('config', { useValue: config }); 
    return app.bootstrap(appComponentType, [ companiesProvider ]); 
}).toPromise(); 

Xem câu hỏi này:

tôi thấy cách tiếp cận khác nếu bạn có thể cập nhật index.html trang (entry point chính) trên phía máy chủ. Dưới đây là một ví dụ:

<script> 
    var params = {"token": "@User.Token", "xxx": "@User.Yyy"}; 
    System.import('app/main').then((module) => { 
    module.main(params); 
    }); 
</script> 

Xem câu hỏi này:

Bạn cũng có thể đăng ký một nhà cung cấp APP_INITIALIZER cho việc này:

provide(APP_INITIALIZER, { 
    useFactory: (service:ConfigService) =>() => service.loadConfig(), 
    deps:[ConfigService, HTTP_PROVIDERS], 
    multi: true}), 

Xem vấn đề này cho biết thêm chi tiết:

+1

Quá nhiều động từ để thực hiện thao tác đơn giản nhất. Angular 2 code có vẻ là cuối cùng khó để duy trì, tôi hy vọng họ sẽ thích ứng với quy ước về cách tiếp cận cấu hình theo thời gian –

+0

Có, có lẽ điều này sẽ dễ dàng hơn trong tương lai với các công cụ như ng-constants sẽ giải quyết ... –

Các vấn đề liên quan