小编wid*_*ies的帖子

Vue.set() 和 push() 用于 Vuex 存储

我有一个尝试进行以下更新的变异器:

state.forms[1].data.metrics.push(newArrayItem)

  • forms1是一个作为键的对象
  • metrics是一个数组

由于某种原因,Vuex 成功更新,但组件不会对此更改做出反应。Vue.set()我在https://v2.vuejs.org/v2/guide/list.html#Object-Change-Detection-Caveats上阅读有关内容

但我不确定如何应用它,或者即使它是正确的答案。

谢谢您的帮助。

this.$forceUpdate正在工作,这有点奇怪,因为加载数据的组件使用computed属性。

表单状态最初设置如下:

const state = {
  forms: {}
};
Run Code Online (Sandbox Code Playgroud)

新表单的推送方式如下:

state.forms[id] = { formName: payload.formName, data: {metrics: []}};
Run Code Online (Sandbox Code Playgroud)

并添加新的指标,如下所示:

var result = getParent(state, payload.path);

result.metricParent.data.metrics.push({ id: newMetricId(state, result.formId), ...payload.metric });
Run Code Online (Sandbox Code Playgroud)

vue.js vuex vuejs2

8
推荐指数
1
解决办法
1万
查看次数

Android Drive API OAuth BAD_AUTHENTICATION

我在使用 Google Drive REST v3 android API 时遇到问题。OAuth 令牌获得 BAD_AUTHENTICATION 结果。这是我正在使用的连接代码。还可以注意到 OAuth 同意屏幕没有出现,在很短的一段时间后,我得到了 BAD_AUTHENTICATION 结果。我是否需要手动将刷新令牌传递给服务器或其他什么?

// Gather credentials
credential = GoogleAccountCredential.usingOAuth2(getApplicationContext(), Arrays.asList(SCOPES)).setBackOff(new ExponentialBackOff());
SharedPreferences settings = getSharedPreferences("Roblu", Context.MODE_PRIVATE);
String accountName = settings.getString("accountName", "");
credential.setSelectedAccountName(accountName);

// Start Google services
HttpTransport transport = AndroidHttp.newCompatibleTransport();
JsonFactory jsonFactory = JacksonFactory.getDefaultInstance();
service = new com.google.api.services.drive.Drive.Builder(transport, jsonFactory, credential).setApplicationName("Roblu").build();
Run Code Online (Sandbox Code Playgroud)

这是结果代码:

08-15 14:11:27.621 4929-15182/? E/Auth: [GoogleAccountDataServiceImpl] getToken() -> BAD_AUTHENTICATION. Account: <ELLIDED:-238957088>, App: com.google.android.gms, Service: oauth2:https://www.googleapis.com/auth/games
                                    dkq: Long live credential not available.
                                        at dkr.a(:com.google.android.gms:3101)
                                        at dje.a(:com.google.android.gms:397)
                                        at djd.a(:com.google.android.gms:31369)
                                        at …
Run Code Online (Sandbox Code Playgroud)

java android oauth google-drive-api

5
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×1

google-drive-api ×1

java ×1

oauth ×1

vue.js ×1

vuejs2 ×1

vuex ×1