如何通过外部服务将数据更改为 Angular 1.5 组件?

How to change data into Angular 1.5 Component via an external Service?

我用 Angular 1.5 组件制作了一个应用程序。我通过 resolve 参数向组件提供数据,这样我就可以在同一组件中显示来自不同来源的任何数据。但是我不明白,如何更改我的组件中的一些数据。

例如,我有一个用户服务,它通过 API 与用户合作。在我的状态下,我加载了一个组件并使用方法 Users.get()。我使用 UI 路由器。

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

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

我在这个组件中有一个表单,想要更改数据。我想在提交表单时调用 Users.update() 方法。但是该组件对用户服务一无所知,这是对的。

如何指定组件必须使用 Users.update() 来更新此状态下的数据?提交表单时如何在组件中调用此方法?

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

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

你可以这样称呼它 $ctrl.onUpdate(data).then(...