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
  }