成功接收后丢失绑定值

Losing binded value after successfully receiving it

我遇到的问题如下。 我有一个 angularjs 项目,我正在尝试使用一种方式绑定来传达两个组件。我正在将一些对象从一个组件传递到另一个组件。我可以看到,我传递的对象是在第二个组件上接收到的,一切似乎都运行良好。但是我需要在承诺中使用这个传递的对象。像这样

loadSomeStuffById(stuffId) {
   this.service.loadStuffFromServiceById(stuffId).then((responseData) => {
      this.filteredDataList = this.filterResponseData(responseData);
     if(this.objectReceivedFromBinding.HasSomeProperty()) {
         //do something with it
     }
  });
}

如果我使用调试器查看绑定数据状态,我会得到以下信息:在进入服务功能之前,绑定数据在那里,但在 promise 中它变成了 undefined . $onChanges() 跟踪从绑定数据作为有效对象到未定义状态的变化,但我无法追踪,为什么这首先发生。看起来整个组件范围都刷新到没有通过绑定传递任何值的状态 我注意到的另一件事是,当我在浏览器中查看代码时(所以它被放入了一个包中)

var _this310(or some other number) = this;

这一行放在调用服务函数之前

Edit 所以我认为丢失绑定变量值的不是 promise。它只是在 time

之后变得未定义

所以这个问题不在我正在寻找解决方案的同一领域。 事实证明,传递绑定值的组件在 ng-click 中有一个 ng-click,而第二个组件正在重新分配值。它已在 ng-click

的内部调用中用 event.stopPropagation() 修复