ttnkh21 发表于 2021-6-23 08:52:12

回调函数添加bind(this)会导致死循环


angular11里:这种写法会导致 getItemBySearch函数重复调用,形成死循环

<wj-auto-complete #theAutoComplete ="'staffNumber'" ="waitSelectStaff" [(ngModel)]="cell.value"
                  ="getItemBySearch.bind(this)"                   (textChanged) = "text($even)"> </wj-auto-complete>


另外:(textChanged) = "text($even)"这种写法,拿不到变更的值$even是空的


这个组件有选中后的回调事件吗? 就是我在下拉列表里,选择某项后的事件回调。
selectedIndexChanged() 这个事件似乎是,但在第一次获得焦点时,后自动执行很多次,不知为什么,另外,同上,$even是空的

Richard.Ma 发表于 2021-6-23 09:53:38

你好,你说的死循环错误未能重现,这边测试用的是开发包自带的demo,你可以对比一下看看

另外你提到的textChanged获取到的是空值,请提供一个demo说明问题

ttnkh21 发表于 2021-6-23 11:34:37

Richard.Ma 发表于 2021-6-23 09:53
你好,你说的死循环错误未能重现,这边测试用的是开发包自带的demo,你可以对比一下看看

另外你提到的te ...





这里 注释掉的这个网络请求,如果打开,输入内容的时候,就会导致不停的请求




Richard.Ma 发表于 2021-6-23 12:13:24

参考我发给你代码,需要加一个判断就行

ttnkh21 发表于 2021-6-23 15:36:03

Richard.Ma 发表于 2021-6-23 12:13
参考我发给你代码,需要加一个判断就行

好的,那每次输入都会重复调用很多次,要如何解决呢?另外textChanged或取不到值的问题,是什么原因呢?

Richard.Ma 发表于 2021-6-23 18:01:18

加了这个判断代码后,我这里测试并不会重复调用
另外,你说的textChanged或取不到值的问题还请提供一个demo

ttnkh21 发表于 2021-6-23 18:32:43

Richard.Ma 发表于 2021-6-23 18:01
加了这个判断代码后,我这里测试并不会重复调用
另外,你说的textChanged或取不到值的问题还请提供一个dem ...





每次输入和点击,都会调用很多次。
textChenanged控制台打印的 undefined


Richard.Ma 发表于 2021-6-24 09:15:57

好的,我验证后给你回复

ttnkh21 发表于 2021-6-25 09:09:48

Richard.Ma 发表于 2021-6-24 09:15
好的,我验证后给你回复

问一下,验证到了嘛?

Richard.Ma 发表于 2021-6-25 10:44:24

问题已经重现确认了,目前在和研发同事沟通解决的办法,然后给您回复
页: [1] 2
查看完整版本: 回调函数添加bind(this)会导致死循环