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

时间:2016-10-26 09:32:01

标签: angularjs edit angular-components

我使用Angular 1.5 Components创建了一个应用程序。我通过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()来更新此状态下的数据?我将如何在提交表单时在组件中调用此方法?

1 个答案:

答案 0 :(得分:1)

SELECT u1.* 
FROM user u1
LEFT OUTER JOIN user u2
ON u1.originalID = u2.fakeID
WHERE u2.fakeID IS NULL

您可以将其称为resolve: { values: function(Users) { return Users.get(); }, onUpdate: function(){ return Users.update.bind(Users); } ); bindings: { values: '<', onUpdate: '<' },