0
実行する機能が非常に似ているため、異なる状態で再利用できるコンポーネントを作成したいと考えています。問題は、レンダリングされる状態に応じて、私のサービスとは異なるメソッドを使用することになっていることです。異なるサービスメソッドを持つ複数の状態で1つのコンポーネントを使用する
$stateProvider
.state('create', {
url: 'create',
component: 'myComponent',
resolve: {
data: function (myService) {
return myService.getData();
}
}
})
.state('edit', {
url: 'edit',
component: 'myComponent',
// another resolve
})
// and so on
をそして、私は次の方法でサービスを持っている:私のコンポーネントが描画されるかのようにするため
let myComponent = {
//bindings: {},
controller: function() {};
template: myTemplate
}
:
class myService {
// constructor($http) { this._$http = $http; }
create(smth) {
return this._$http.post(`${apiUrl}/smth`, smth).then(res => res.data);
}
edit(smth) {
return this._$http
.put(`${apiUrl}/smth/${smth.id}`, smth)
.then(res => res.data);
}
}
そして、私のコンポーネントを、私はこれらの状態に持って考えるとcreate
州では、それに対応してmyService
のcreate()
メソッドを使用し、edit
とこれと同じものを使用します。そのような方法で私のコンポーネントを設計するにはどうすればいいですか?
とはどのように呼びますか? – AlexNikolaev94
申し訳ありませんが、私は私の 'put'メソッドと' post'メソッドにURLを提供しませんでした。更新された質問を参照 – AlexNikolaev94
ルートで回答が更新されました。これがアイディアです。最終的な実装はあなた次第です。 –