2016-10-26 12 views
0

角度1.5のコンポーネントでアプリを作成します。 resolveパラメータを介してコンポーネントにデータを提供すると、同じコンポーネント内のさまざまなソースのデータを表示できます。しかし、私は、私のコンポーネントでいくつかのデータを変更する方法を理解していません。外部サービスを介してデータを角度1.5のコンポーネントに変更する方法は?

たとえば、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サービスについて何も知らないし、そうだ。

この状態のデータを更新するには、コンポーネントでUsers.update()を使用する必要があります。フォームが送信されるとき、コンポーネントでこのメソッドを呼び出す方法は?

答えて

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

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

、あなたは$ctrl.onUpdate(data).then(...

のようにそれを呼び出すことができます
関連する問題