草庐IT

getter-setter

全部标签

javascript - Vuex:从行动中调用 setter/getter

有没有办法让dispatch/action在里面调用getter?mutations:{setData(state,data){state.data=data;}}actions:{sendDataToServer({commit},payload){//callgetter(data)andassigntovariable//doasyncfunctionsfromthedatareturned}},getters:{getAppData:state=>()=>{returnstate.data;}}那么这里的最佳实践是什么?使用mutation更改状态,然后获取状态并将其传递给将执

javascript - 如何用 Jest 模拟/替换对象的 getter 函数?

在Sinon我可以做以下事情:varmyObj={prop:'foo'};sinon.stub(myObj,'prop').get(functiongetterFn(){return'bar';});myObj.prop;//'bar'但是我怎样才能对Jest做同样的事情呢?我不能只用jest.fn()之类的东西覆盖函数,因为它不会替换getter"can'tsetthevalueofget" 最佳答案 对于遇到这个答案的其他人来说,Jest22.1.0引入了spyongetterandsettermethods的能力.编辑:如sc

javascript - Typescript 私有(private) setter 公共(public) getter 约定

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion所以我想要一个不可变的Vector类。为此,我需要一个用于x和y坐标的公共(public)getter和一个私有(private)setter,以便我可以在构造函数中实际初始化这些值。我有几个可供选择的选项,所以我想知道哪个符合惯例。我可以这样做:classVector{constructor(private_x:number,private_y:number){}publicgetx()

javascript - JS 可以有与属性同名的 getter 和 setter 方法吗?

我想在代码中实现类似down的行为:functionFoo(name){this.name=name;};varmyFoo=newFoo('myName');myFoo.name('newMyName');//setsmyFoo.name='newMyName'myFoo.name();//returns'myName'但很明显,在这种情况下,我将使用名称函数覆盖名称属性。是否有可能实现该功能? 最佳答案 当谈论javascript中的getter和setter时,您可能会谈论以下两个概念之一:1。getter和setter作为一个

javascript - 在 Javascript 中获取 Getter 函数

在JavaScript中,可以通过以下方式创建getter和setter:functionMyClass(){varMyField;this.__defineGetter__("MyField",function(){returnMyField;});this.__defineSetter__("MyField",function(value){MyField=value;});}但是有没有办法获得Getter或SetterFUNCTION?我想到了这样的事情:varobj=newMyClass();obj.__getSetter__("MyField")("MyValue");我在扩

javascript - 带有 getter/setter 的 JSON stringify ES6 类属性

我有一个JavaScriptES6类,该类具有使用set设置的属性并使用get函数访问。它也是一个构造函数参数,因此可以使用所述属性实例化该类。classMyClass{constructor(property){this.property=property}setproperty(prop){//Somevalidationetc.this._property=prop}getproperty(){returnthis._property}}我使用_property来避免使用get/set的JS陷阱,如果我直接设置为property会导致无限循环。现在我需要将MyClass的一个实例

javascript - 当我查看 DOM 对象的 getter 属性时,控制台中发生了什么?

在控制台运行以下代码时:console.dir(document);在Chrome中,我看到了以下内容:这似乎暗示domain属性直接在document对象上。然而,事实并非如此。console.log(document.hasOwnProperty('domain'));在Chrome72中,沿着原型(prototype)链往上走,它似乎在Document.prototype上:console.log(Document.prototype.hasOwnProperty('domain'));console.log(Object.getOwnPropertyDescriptor(Doc

javascript - 覆盖一个setter,getter也必须被覆盖

classAbstractClass{constructor(){}setproperty(value){this.property_=value;}getproperty(){returnthis.property_;}}classSubclassextendsAbstractClass{constructor(){super();}setproperty(value){super.property=value;if(!(this.property_instanceofSubclassAssociatedClass))thrownewTypeError();}//getpropert

javascript - 未捕获的类型错误 : Cannot set property playerNo of# which has only a getter on line 4

我正在从使用旧的(函数和原型(prototype))hackyJavaScript类转向使用新的ES6类。我可能正在做一些愚蠢的事情,但我不确定为什么不允许我这样做:classPlayer{constructor(playerNo){this.playerNo=playerNo;}getplayerNo(){returnthis.playerNo;}setcards(playersCards){this.cards=playersCards;}getcards(){returnthis.cards;}}varsteve=newPlayer(1);它给我错误:UncaughtTypeEr

php - Laravel setter 注入(inject)

我如何在Laravel的服务容器中使用setter依赖注入(inject)来实现自动依赖解析?这是一个例子:classTest{(...)publicfunctionsetMailer(Mailer$mailer){$this->mailer=$mailer;}(...)functionsendEmail(){$this->mailer->send(newEmail('john.doe@example.com'));}}我如何确保在调用sendEmail()时,邮件程序依赖性得到统计?我如何利用Laravel的服务容器来实现这一目标?提前致谢。 最佳答案