我最近加入了一个研究Angular应用程序的团队,该应用程序大致(释义)如下所示:
this.appModule = angular.module( 'MainApp', ['MainApp.resourceModule', 'MainApp.configModule', 'MainApp.controllerModule'] );
this.resourceModule = angular.module( 'MainApp.resourceModule', [] );
this.configModule = angular.module( 'MainApp.configModule', [] );
this.controllerModule = angular.module( 'MainApp.controllerModule', [] );
this.configModule.value('API_SETTINGS',{'host':'http://XX.XX.XX.XX'});
this.resourceModule.factory('ThisResource', function($http, $resource, API_SETTINGS) {
return $resource(API_SETTINGS.host + "/api/resource/:id", {id: "@id"});
});
this.controllerModule.controller( 'MainController', function($scope, $location, $routeParams, ThisResource ) {
// ...
ThisResource.get( {id: $routeParams.user_id}, function(response) { /* ... */ } );
// ...
我们有一个表单允许您更改API_SETTINGS.host的值(例如,更改为“http://YY.YY.YY.YY”),但是表单上输入的任何新值都不会被Angular“识别”。资源仍然附加到“http://XX.XX.XX.XX/api/resource/:id”的原始地址,并且永远不会更改。
让Angular刷新资源的最佳方法是什么,以便使用它的所有对象都引用API_SETTINGS的更新值?最好不必更改对其他对象中资源的任何引用......这可能吗?
感谢您的帮助, GS