Javascript 更改此';当它';已经定了
我有一个组件对象,它是对DOM元素的引用,但也有一些其他属性,如“top”、“left”、“formatters”等 我在component类中有一个“refresh”方法,它应该更改其属性。我这样调用该方法:Javascript 更改此';当它';已经定了,javascript,html,css,oop,dom,Javascript,Html,Css,Oop,Dom,我有一个组件对象,它是对DOM元素的引用,但也有一些其他属性,如“top”、“left”、“formatters”等 我在component类中有一个“refresh”方法,它应该更改其属性。我这样调用该方法: component.refresh(200,300,'formatter1'); 在我使用的方法的主体部分: private refresh(top, left, formatter) { this.top = top; this.left = left; this.for
component.refresh(200,300,'formatter1');
在我使用的方法的主体部分:
private refresh(top, left, formatter) {
this.top = top;
this.left = left;
this.formatter = formatter;
}
我的目标是更改组件对象的属性。问题是,当第一次指定属性时,一切正常(属性正在创建),但当组件中已存在属性时,无法替换(属性与以前保持不变)。换句话说,当元素已经设置时,可以更改它的某些“this”属性?如果您使用诸如React/Redux之类的库,您永远不应该对数据进行变异,您想要这样的东西吗?如果是这样的话,您通常会通过返回具有新值的新对象来解决这个问题,这样原始值就不会改变,如果您更改了任何保存原始对象的变量,那么它将被垃圾收集 所以你需要的是:
component = component.refresh(200,300,'formatter1');
private refresh(top, left, formatter) {
return new Component(top, left, formatter);
}
如果您使用React/Redux之类的库,您永远不应该对数据进行变异,您想要这样的库吗?如果是这样的话,您通常会通过返回具有新值的新对象来解决这个问题,这样原始值就不会改变,如果您更改了任何保存原始对象的变量,那么它将被垃圾收集 所以你需要的是:
component = component.refresh(200,300,'formatter1');
private refresh(top, left, formatter) {
return new Component(top, left, formatter);
}
我们可以看更多的组件类代码吗?具体来说,就是如何定义属性(顶部、左侧、格式化程序)以及如何定义组件类本身。这是一个合适的ES6+课程吗?(
类组件
)还是旧的?(函数组件()
)。在javascript中,这个
可以以一些非常奇怪和不直观的方式运行,您可能会遇到一个关于这个的问题。我们可以看到更多的组件类代码吗?具体来说,就是如何定义属性(顶部、左侧、格式化程序)以及如何定义组件类本身。这是一个合适的ES6+课程吗?(类组件
)还是旧的?(函数组件()
)。在javascript中,此
可能以一些非常奇怪和不直观的方式运行,您可能会遇到有关此的问题。