2016-10-26 10 views
0

Я делаю приложение с Угловыми компонентами 1.5. Я предоставляю данные в компонент через параметр resolve, таким образом, я могу отображать любые данные из разных источников в одном и том же компоненте. Но я не понимаю, как изменить некоторые данные в моем компоненте.Как изменить данные на компонент «Угловой 1.5» через внешнюю службу?

Например, у меня есть сервис User, который работает с пользователями через API. В моем состоянии загружаю компонент и использую метод Users.get(). Я использую UI Router.

//... 
$stateProvider 
     .state('users', { 
     url: '/users', 
     component: 'formPage', 
     resolve: { 
      values: function(Users) { 
      return Users.get(); 
      }); 
//... 

//... 
component('formPage', { 
    bindings: { 
    values: '<' 
    }, 
//... 

У меня есть бланк в этом разделе и вы хотите изменить данные. Я хочу вызвать метод Users.update(), когда будет отправлена ​​форма. Но компонент ничего не знает об услугах пользователей, и это правильно.

Как я могу указать, что компонент должен использовать Users.update() для обновления данных в этом состоянии? И как я называю этот метод в компоненте, когда форма будет отправлена?

ответ

1
resolve: { 
    values: function(Users) { 
    return Users.get(); 
    }, 
    onUpdate: function(){ 
    return Users.update.bind(Users); 
    } 
); 

bindings: { 
    values: '<', 
    onUpdate: '<' 
}, 

и вы можете назвать это как $ctrl.onUpdate(data).then(...

 Смежные вопросы

  • Нет связанных вопросов^_^