- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
本帖有更新,看第一个回答
所以,首先,我确实搜索了类似的问题(并找到了一些线程),但没有解决我的问题。我是第一次尝试使用 quasar 框架,也许我在命名空间的某个地方迷路了。
所以,首先,一些信息:+用ESLint编译没有报错
+我的 javascript 控制台在运行时没有任何错误
我的问题是:
+我的 Action 和突变确实在商店里保存了一些东西,但不是在它应该保存的地方(见帖子末尾的截图)
+我的getter好像不起作用,在vue dev工具中显示为“undefined”
我的商店是这样组织的:
+store [folder]
+ index.js
+ app-utils [folder]
--+ index.js
--+ getters.js
--+ actions.js
--+ mutations.js
--+ state.js
根index.js代码:
从 'vue' 导入 Vue 从 'vuex' 导入 Vuex
import appUtils from './app-utils'
Vue.use(Vuex)
const store = new Vuex.Store({
modules: {
appUtils
}
})
export default store
然后,在“app-utils”文件夹中:index.js 的代码:
import state from './state'
import * as getters from './getters'
import * as mutations from './mutations'
import * as actions from './actions'
export default {
namespaced: true,
state,
getters,
mutations,
actions
}
state.js 代码:
export default {
state: {
currentPageTitle: 'Hello'
}
}
getters.js 代码:
export const getPageTitle = (state) => {
console.log('GET TITLE: ' + state.currentPageTitle)
return state.currentPageTitle
}
mutations.js 代码:
export const setPageTitle = (state, newPageTitle) => {
console.log('MUTATION SET TITLE: ' + newPageTitle)
state.currentPageTitle = newPageTitle
}
export const deletePageTitle = (state) => {
console.log('MUTATION DELETE TITLE')
state.currentPageTitle = ''
}
actions.js 代码:
export const setPageTitle = (context, newPageTitle) => {
console.log('ACTION SET TITLE: ' + newPageTitle)
context.commit('setPageTitle', newPageTitle)
}
export const deletePageTitle = (context) => {
console.log('ACTION DELETE TITLE')
context.commit('deletePageTitle')
}
我尝试访问它的代码(int the getPageTitle computed field):
<template>
<q-page>
<q-resize-observable @resize="onResize" /> TITLE : {{getPageTitle}}
<div class="row">
</div>
</q-page>
</template>
import { mapGetters, mapActions } from 'vuex'
export default {
data: () => ({
pageSize: {
height: 0,
width: 0
}
}),
mounted () {
this.setPageTitle('Template manager')
},
destroyed () {
this.deletePageTitle()
},
computed: {
...mapGetters('appUtils', [
'getPageTitle'
])
},
methods: {
...mapActions('appUtils', [
'setPageTitle',
'deletePageTitle'
]),
onResize (size) {
this.pageSize = size
}
}
}
</script>
<style>
</style>
最后是vue插件的截图,可以看到在触发mounted()钩子(Hook)时已经设置了值,但不是在'state'中,getter是未定义的。
最佳答案
你的状态对象看起来像这样:
export default {
state: {
currentPageTitle: 'Hello'
}
}
整个事情都被传递给你的 getter 状态参数。整个导出的对象是您的状态,而不是其中的“状态”属性。所以你有两个选择:
选项一:更新您的 getter 以访问您所在州内嵌套的“州”属性:
export const getPageTitle = (state) => {
console.log('GET TITLE: ' + state.state.currentPageTitle)
return state.state.currentPageTitle
}
选项二(可能是您真正想要做的):将您的状态对象更改为不具有“state”属性。
export default {
currentPageTitle: 'Hello'
}
关于javascript - 更新 : Mutation recieve the store, 不是状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50144872/
已关闭。此问题需要 debugging details 。目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and the
我想开发一个允许用户通过 Firebase 消息传递相互交互的应用程序,但问题是: 教程和开源项目只能在 Activity 运行时使用:例如,This GitHub Project和 This Sta
我正在努力制作我的基本锁屏应用程序。开始时,该应用程序显示一个基本 Activity 屏幕,带有一个 ImageView (显示存储中的图像)和一个 TextView(显示日期和时间)。向上滑动时,
本帖有更新,看第一个回答 所以,首先,我确实搜索了类似的问题(并找到了一些线程),但没有解决我的问题。我是第一次尝试使用 quasar 框架,也许我在命名空间的某个地方迷路了。 所以,首先,一些信息:
我正在尝试编写一个接收JSON数据的API,我能够接收数据,但不确定如何读取或提取其内容。我的代码行是:。我发送了cURL命令cURL-X POST http://127.0.0.1:8000/pos
我试图通过套接字发送帧,并且在编码后通常是50 000-80 000字节,所以我按循环接收数据,但是由于客户端始终发送帧,因此以下代码中的循环始终不会中断,因此当我运行时什么也没有发生,并且接收循环继
我正在使用 AngularJS,我正在尝试将 json 从我的服务发送到 webAPI Controller 。当我通过发送时,我在 webApi 函数的参数中收到 null。 我的功能服务是: an
我正在使用 C++ 和弯路处理 Hook winsock2 函数的 dll。我的目标是修改进出原始可执行文件的 TCP 流量。在某些时候,我需要停止某些数据包的传递(这样原始可执行文件根本不知道该数据
我正在用 C 语言制作一个简单的 TCP 客户端-服务器,我正在尝试从客户端向服务器发送消息,但我遇到了一些问题。服务器确实发送消息(整数值 > 0)但客户端无法接收它(整数值 > 0)这是代码:客户
在 Apple 的 ObjC 运行时指南中,它描述了 objc_msgSend() 函数对动态调度的作用: It first finds the procedure (method implement
以下代码是一个旨在发送 ICMP 回显请求和接收回复的程序。 /* Forgive my lack of error handling :) */ SOCKET ASOCKET = INVAL
我是这个网站的新手,也是 Android 新手。我正在尝试为 TCP 客户端编写代码。我也可以发送数据并接收数据。我想从 in 缓冲区中读取数据,我可以使用 in.readLine(); ,但这只会读
我做了一个python服务器和一个java客户端。我的问题很简单:服务器收到客户端的消息,但客户端没有得到回复。 Java 客户端: package fgd; import java.io.DataI
我似乎在通过连接表接收产品时遇到问题,这给了我一个奇怪的错误,因为它似乎没有收到我的订单的 ID。我只能假设这是因为订单尚未创建,但无论如何我都会在此步骤中创建订单,因此订单还没有 ID。所以这就是我
我问这个问题是因为我不明白我搜索的问题所提供的解释,所以这个问题可能很常见。我使用另一个人的代码来尝试了解它是如何工作的,以便复制它。在可注入(inject)的方法之一中,原作者返回一个 promis
我有 C 语言的客户端/服务器程序,通过它我可以将文件从服务器传输到客户端。 但客户端甚至在收到文件的最后一个字节后仍在等待 recv。只有当我杀死它或服务器被我杀死时,客户端才会终止。但是服务器必须
在 WPF 4.0 中,如果我在加载用户控件后在窗口中交换用户控件,我似乎无法使用任何键盘快捷键。一个代码示例说了一千个字,所以这就是我正在做的: Window window = new Window
我一直无法找到 oracle.net.ns.Packet.recieve() 方法的文档。此方法仅在选择查询时调用吗?或者它是否也在插入更新等时被调用? 我的应用程序大部分时间都花在了这个方法上。我可
我正在尝试从移动应用程序(用 React Native 编写,现在在 iOS 上运行)上传图像文件。 文件被发送到我的 REST API,如下所示。我遇到了两个问题: 我没有得到 req.body,因
我正在尝试使用 Go 构建一个基本 API,它使用 PostgreSQL library 返回 SQL 查询的结果。 . 目前我可以让程序返回值,但我无法让它向用户返回失败的消息,即一些带有错误消息的
我是一名优秀的程序员,十分优秀!