草庐IT

vuex中this.$store.commit和this.$store.dispatch的用法

全部标签

javascript - this 在箭头函数中未定义

我试图在我的箭头函数中访问它:importmyObjectfrom'../myObjectPath';exportconstmyClass=Fluxxor.createStore({initialize(){this.list=[];this.id=null;},myOutsideFunction(variable1){//herethisinNOTundefinedmyObject.getMyList(this.id,(myList)=>{//herethisinundefinedthis.list=myList;}});)};但是在回调函数中的箭头函数中,this是未定义的!!我正

javascript - react redux promise middleware 如何将结果 action 发送到 dispatch?

我正在尝试通过reactredux了解promises的中间件docs但不理解下面的then部分:constvanillaPromise=store=>next=>action=>{if(typeofaction.then!=='function'){returnnext(action)}returnPromise.resolve(action).then(store.dispatch)}then如何知道要分派(dispatch)什么?该操作没有像这样的参数传递returnPromise.resolve(action).then(function(action){store.dispa

javascript - mapDispatchToProps 与 store.dispatch()

是在组件内部使用mapDispatchToProps来调用Action更有效,还是在Action创建器中使用store.dispatch更有效?mapDispatchToProps示例://ComponentimportReactfrom'React';import{connect}from'react-redux';import{defaultAction}from'./actions';classMyComponentextendsComponent{onClickHandler(){this.props.dispatch(defaultAction());}render(){re

javascript - Vue/Vuex 未知 Action 类型

我已经开始在我的应用程序中实现Vuex,并且我决定将我的商店拆分为模块。一开始我只创建了一个模块来测试Vuex模块的工作原理,因为我以前没有任何使用它的经验。我创建了一个模块文件夹,里面有一个文件夹用于我的模块,名为Company。在公司文件夹中,我创建了下一个文件:action.js、getters.js、index.js、mutations.js。这些文件中的代码:action.js:importapifrom'@/vuex/utils/api'constgetCompanies=(context)=>{api.get('/57/companies').then(response=

javascript - 在 CouchDB 中, 'this' 指的是什么?

我正在尝试了解CouchDB和couchapp,并且随着我的理解,我发现在任何给定的上下文中都很少使用“this”。我知道show对象获取文档和请求,并允许使用列表和View对它们进行操作。这些操作都是Javascript对象。但CouchApp似乎也以字符串形式存储各种东西:README文件、Mustache模板等。它必须以某种方式访问​​它们。show上下文中的this运算符是否以某种方式提供对设计文档根目录的访问,从而通过require以外的其他方式提供对对象的访问语法?在Javascript中,this必须在每个上下文中以某种方式定义,特别是“有一个this值与每个事件执行上下

javascript - 'var' 声明的变量和 'this' 在 Javascript 中创建的属性有什么区别?

首先使用varfunctiontestCode(some){varsomething=some;}第二次使用这个functiontestCode2(some){this.something=some;} 最佳答案 在第一个函数中,something是一个private(局部)变量,这意味着它在函数外是完全不可访问的;而在第二个中,它是一个public实例变量。设置变量的上下文将取决于您调用函数的方式:>testCode2("foo");//thiswillrefertodocument.window>something"foo">>

javascript - 输入类型="submit",onclick处理程序调用this.form.submit(),并且不返回任何值

编辑:在考虑回答问题之前,请仔细阅读问题的所有内容。我既不是在生产代码中使用内联事件处理程序的可取性,也不是在实现我所引用的文章所promise的结果的最佳方法。这是关于Javascript语义和浏览器实现细节的问题,而不是关于最佳编码实践的问题。听起来像一场噩梦,对吗?但是我发现一些onlineadvice提倡这样做,以防止再次提交表单:撇开对内联事件处理程序的弊端的任何讨论,我在这里看到的问题是:标签的类型是"submit",因此提交其包含形式是其默认行为;onclick处理程序显式提交包含表单;onclick处理程序不返回false以防止默认行为(请参见1)。凭直觉,我认为单击此

javascript - IE8 Array.prototype.slice : 'this' is not a JavaScript object

我只在IE8中收到此错误消息,我不知道如何转换现有函数以兼容IE8。_initEvents:function(){varself=this;Array.prototype.slice.call(this.menuItems).forEach(function(el,i){vartrigger=el.querySelector('a');if(self.touch){trigger.addEventListener('touchstart',function(ev){self._openMenu(this,ev);});}else{trigger.addEventListener('cl

javascript - 试图找出一些js代码中的 'this'

functionbuttonClicked(){vartext=(this===window)?'window':this.id;console.log(text);}varbutton1=document.getElementById('btn1');varbutton2=document.getElementById('btn2');button1.onclick=buttonClicked;button2.onclick=function(){buttonClicked();};问题:点击button1,显示:btn1,点击button2和button3,显示:window,为什

javascript - 为什么 "this"的值会改变。?

我正在学习javascript,我遇到了一个疑问。为什么“this”的值在第一个示例中未定义,但在第二个示例中打印正确。示例1:varmyNamespace={myObject:{sayHello:function(){console.log("nameis"+this.myName);},myName:"john"}};varhello=myNamespace.myObject.sayHello;hello();//"nameisundefined"示例2:varmyNamespace={myObject:{sayHello:function(){console.log("Hi!My