草庐IT

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

全部标签

javascript - 限制 vue/vuex react 性

假设我们有一些对象数组,并且这些对象永远不会改变。例如,这可能是从googlemapsplacesapi接收到的搜索结果-每个结果都是相当复杂的对象,具有ID、标题、地址、坐标、照片和一堆其他属性和方法。我们想用vue/vuex在map上显示搜索结果。如果一些新的结果被推送到商店,我们想在map上画出它们的标记。如果某些结果被删除,我们要删除它的标记。但在内部,每个结果都不会改变。有什么方法可以告诉vue跟踪数组(推送、拼接等),但不要更深入并且不要跟踪其元素的任何属性?现在我只能想象一些丑陋的数据拆分-将id数组保留在vue中,并在商店外有单独的id缓存。我正在寻找更优雅的解决方案(

javascript - 使用 event.target.id 从 bind(this) 获取 id 时意外使用 'event' no-restricted-globals

此代码适用于Codepen:参见https://codepen.io/pkshreeman/pen/YQNPKB?editors=0010然而,我试图在我自己的“create-react-app”中使用它,并且“no-restricted-globals”的错误是由event.target.id触发的。有什么解决方法。除了使用事件目标之外,您如何从“this”中获取id?constElem=(props)=>{return(GoodMorning!{props.name}{props.last}Thisisphasethree{props.text}SecondButton);};cl

javascript - 使用 Vuex 进行 API 调用的正确方法是什么?

我有一个带有Vuex的VueWebpack应用程序(我对这两个都是新手,来自Ember世界)。我目前已经将它设置为将vue-resource与两个文件一起使用,如下所示:/src/store/api.jsimportVuefrom'vue';import{store}from'./store';exportdefault{get(url,request){returnVue.http.get(store.state.apiBaseUrl+url,request).then(response=>Promise.resolve(response.body)).catch(error=>Pr

javascript - 无法从单独的模块分派(dispatch)命名空间操作 : [vuex] unknown action type

我有两个模块,activities和alerts。添加activity时,我想使用命名空间操作alerts/SHOW发送警报。当我直接从组件调用操作时(使用来自Vuex的createNamespacedHelpers,带有alerts的命名空间),这会起作用。但是当我从另一个命名空间模块分派(dispatch)操作时,我收到以下错误消息:[vuex]unknownactiontype:SHOW我不确定我做错了什么。我正在为activities命名空间调用ADD操作和另一个createNamespacedHelpers。我还使用了{root:true}选项,在Vuexmoduledocu

javascript - 我的 'this' 在哪里?使用对象方法作为回调函数

我有一个关于javascript规范或函数指针(委托(delegate)?)实现的一般性问题,它们指向对象方法。请阅读以下代码片段。这里我们有一个对象,其方法使用“this”来访问对象字段。当我们像往常一样调用此方法时(o.method();),返回对象指定字段的值。但是当我们创建指向此方法(回调)的指针并调用它时,返回一个未定义的值,因为方法范围内的“this”现在是全局对象。varo={field:'value',method:function(){returnthis.field;}};o.method();//returns'value'varcallback=o.method

javascript - 我什么时候应该使用 `this.x` 与 `var x` ?

在创建JavaScript类函数时,我使用了this。很多。但是在使用它时,我想知道使用var是否会有所不同。varMyClass=function(){this.x=4;return{getVal:this.x};}与var的使用对比:varMyClass=function(){varx=4;return{getVal:x};}有什么区别,什么时候应该使用哪个?同样的问题适用于class语法:classMyClass{constructor(){constx=4;}}对比classMyClass{constructor(){this.x=4;}} 最佳答案

javascript - 如何抽象出浏览器窗口对象的用法?

在使用Aurelia框架时,如何抽象出浏览器的window对象的用法?例如,在使用setInterval或addEventListener等功能时,我想避免直接依赖浏览器。Aurelia有一个名为平台抽象库的东西,理论上它应该提供我正在寻找的功能。但是,在撰写此问题时,我找不到任何关于它的文档。 最佳答案 几个例子:import{DOM,PLATFORM,FEATURE}from'aurelia-pal';PLATFORM.addEventListener('click',e=>...);PLATFORM.requestAnimat

javascript - 为什么 (function() { return this; }).call ('string literal' ) 返回 [String : 'string literal' ] instead of 'string literal' ?

这是我在试验JS时的最新发现:(function(){returnthis;}).call('stringliteral');//=>[String:'stringliteral']inV8//=>String{"stringliteral"}inFF我在执行以下操作时偶然发现了这一点:(function(){returnthis==='stringliteral';}).call('stringliteral');//=>false谁能告诉我为什么函数内部的this不是作为第一个参数传递给call的正是?编辑1Whatisthedifferencebetweenstringprimi

javascript - 使用 goog.bind 和 goog.net.Xhrio.send 了解 "this"上下文

我对调用以下代码时发生的情况感到有点困惑:goog.net.XhrIo.send("/welcome",goog.bind(this.handleWelcome,this));我有一个带有这个签名的函数:myproject.MyClass.prototype.handleWelcome=function(response)在绑定(bind)之前,handleWelcome的上下文无法访问我的Javascript类myproject.MyClass的实例字段(这是可以理解的)。关注信息here,我现在有了类实例的上下文。一切都很好。在我进行更改之前,“this”的上下文是什么?请原谅我使

javascript - 将 "this"用作函数?

我继承了一些我不理解的代码。functionupdateQty(){obj.find('.inputAmount').html(qty);input.val(qty);$.each(change_actions,function(){this(qty);});}.each函数内部到底发生了什么?我以前从未见过this(var)以这种方式使用过。 最佳答案 $.each中的this指的是您正在循环的当前对象。对象必须是一个函数才能向它传递一些东西。 关于javascript-将"this"