AngularJS 组件绑定一个函数
AngularJS component binding a function
比方说,我们试图使用网络从列表中删除一个项目 api.We 使用参数创建了一个名为 remove-item 的子组件 - item 和 onRemove.On 单击一个项目,我们想根据代码触发父 component.As 的回调函数,删除 item.Can 后不会调用 onRemove 有人帮助我们找出错误并为我们提供正确的解决方案并提供插图.
remove.component.js
-------------------
this.RemoveItem = function (index) {
var promise = productList.removeItem(parseInt(this.id));
promise.then(function (response) {
console.log("An item has been deleted");
this.items=response.data;
}, function (error) {
console.log("An error has occurred while deleting the item:", this.id);
});
this.onRemove({
$index: this.items
});
}
我会避免使用 'this'。不确定为什么在 RemoveItem fn 中传递索引参数,看不到您在此范围内的任何地方使用它。无论如何,如果 productList.removeItem returns Promise 比我们可以调用 onRemove。我肯定需要更多信息 - html 代码和你的删除 fn 代码,但无论如何都要试试这个。
let vm = this;
vm.RemoveItems = RemoveItem;
vm.onRemove = onRemove;
RemoveItem(index) {
productList.removeItem(parseInt(this.id))
.then(function (response) {
console.log("An item has been deleted");
vm.onRemove({$index: response.data});
}, function (error) {
console.log("An error has occurred while deleting the item:", this.id);
});
}
onRemove(obj) {
console.log(obj);
//make your remove here
}
比方说,我们试图使用网络从列表中删除一个项目 api.We 使用参数创建了一个名为 remove-item 的子组件 - item 和 onRemove.On 单击一个项目,我们想根据代码触发父 component.As 的回调函数,删除 item.Can 后不会调用 onRemove 有人帮助我们找出错误并为我们提供正确的解决方案并提供插图.
remove.component.js
-------------------
this.RemoveItem = function (index) {
var promise = productList.removeItem(parseInt(this.id));
promise.then(function (response) {
console.log("An item has been deleted");
this.items=response.data;
}, function (error) {
console.log("An error has occurred while deleting the item:", this.id);
});
this.onRemove({
$index: this.items
});
}
我会避免使用 'this'。不确定为什么在 RemoveItem fn 中传递索引参数,看不到您在此范围内的任何地方使用它。无论如何,如果 productList.removeItem returns Promise 比我们可以调用 onRemove。我肯定需要更多信息 - html 代码和你的删除 fn 代码,但无论如何都要试试这个。
let vm = this;
vm.RemoveItems = RemoveItem;
vm.onRemove = onRemove;
RemoveItem(index) {
productList.removeItem(parseInt(this.id))
.then(function (response) {
console.log("An item has been deleted");
vm.onRemove({$index: response.data});
}, function (error) {
console.log("An error has occurred while deleting the item:", this.id);
});
}
onRemove(obj) {
console.log(obj);
//make your remove here
}