如何通过外部服务将数据更改为 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(...
我用 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(...