依赖值更改时更新Angular资源

时间:2015-02-17 19:45:48

标签: javascript angularjs angular-resource

我最近加入了一个研究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

0 个答案:

没有答案