Javascript 角度属性绑定循环超出了应有的范围
在我的数组pitanje['odgovori']中,我有3个值,所以它应该只循环3次,但不知何故它会循环几次查看图片…所以[0,1,2]并循环几次…我的目标是将该值传递给changeColor() 并在此基础上与其他芯片进行对比,改变芯片颜色 HTMLJavascript 角度属性绑定循环超出了应有的范围,javascript,angular,typescript,ionic-framework,Javascript,Angular,Typescript,Ionic Framework,在我的数组pitanje['odgovori']中,我有3个值,所以它应该只循环3次,但不知何故它会循环几次查看图片…所以[0,1,2]并循环几次…我的目标是将该值传递给changeColor() 并在此基础上与其他芯片进行对比,改变芯片颜色 HTML 解决方案是为changeColor函数使用管道。管道将获得i值,其变换函数将执行changecolor函数应该执行的操作 管道的好处是,如果与直接改变管道结果的状态无关,那么管道是纯净的,并且在变化检测后不会再次发生 另一个解决方案是使用lod
解决方案是为changeColor函数使用管道。管道将获得i值,其变换函数将执行changecolor函数应该执行的操作 管道的好处是,如果与直接改变管道结果的状态无关,那么管道是纯净的,并且在变化检测后不会再次发生 另一个解决方案是使用lodash装饰器和memoize装饰器
import {memoize} from 'lodash-decorators';
@memoize()
changeColor(value: number) {
console.log(value);
}
如果使用相同的值调用,则不会进入函数。何时调用changeColor()?我建议在调用它的地方发布一段代码。@codeherk查看ion chip[color]属性感谢您的努力更好的解决方案是向odgovor对象添加一个color属性,而不是使用方法来确定颜色。然后你可以事先计算颜色,然后做一些类似于[color]='odgovor.color'的事情,这可能会有所帮助-最好是修复它,如果你有时间的话,花点时间来正确处理它。由于角度变化检测,您的方法被多次调用,下面是一篇很好的文章来解释它
changeColor(value: number) {
console.log(value);
}
import {memoize} from 'lodash-decorators';
@memoize()
changeColor(value: number) {
console.log(value);
}