小编Nik*_*ola的帖子

创建vuejs组件等待数据首先加载

我有一个App.vue组件,我想加载当前登录的用户.我还想在用户尝试登录路线时重定向用户,并且当前登录的用户已经保存在上下文中(他已经登录).

// inside App.vue component
created() {
  AuthService.getCurrentUser().then((user) => {
    this.user = user;
  });
}
Run Code Online (Sandbox Code Playgroud)

我检查created了登录组件的方法是否设置了currentUser,但是当用户尝试转到登录页面时,可能是当前用户的请求未完成.

我的问题是:

在App.vue组件加载之前,如何等待数据加载?我看到这样的事情:

waitForData: true,
data(transition) {
  return AuthService.getCurrentUser().then(currentUser => {
    transition.next({ currentUser });
  });
}
Run Code Online (Sandbox Code Playgroud)

实际上并没有等待加载数据并且组件仍然加载.

编辑:我知道beforeRouteEnter但这App.vue是一个组件,它是所有组件的父组件,而不是特定于路由的组件.

vue-router vuejs2

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

v-for中的VueJS插槽

我想制作一个网格组件,它接受插槽作为附加列单元格.

<grid>
  <td slot="additional-column">...</td>
</grid>
Run Code Online (Sandbox Code Playgroud)

在实际组件中:

<template>
   <table>
     <div v-for="item in items">
       ...
       <slot name="additional-column"></slot>
     </div>
   </table>
</template>
Run Code Online (Sandbox Code Playgroud)

不幸的是,插槽开始重复,这是vuejs不喜欢的东西.

在同一渲染树中找到重复出现的插槽"additional-column" - 这可能会导致渲染错误.

有谁知道我该如何处理这个问题?

提前致谢!

vue.js

6
推荐指数
2
解决办法
6654
查看次数

prolog中列表的常见子序列

我正在尝试编写一个谓词共同(L,S),它从L列表中生成的列表L中列表的所有公共子序列.

subseq([], _).
subseq([H|S], L) :- append(_, [H|T], L), subseq(S, T).


common(L, X) :- not((
        member(A, L),
        not(subseq(X, A))
       )).
Run Code Online (Sandbox Code Playgroud)

即使输入错误,它也只是给我"真实".

例如:

common([[1,2,3,4], [2,3], [12]], X). true

编辑

我注意到它实际上正在工作,但它不是用谓词为真的术语替换X.

prolog

2
推荐指数
1
解决办法
167
查看次数

使用索引递增到矩阵

有没有办法使用该矩阵的索引来增加矩阵的特定行和列,并且如果索引重复,则同时执行两次。例如,使用以下代码:


rows <- c(1, 2, 3, 4, 1)
cols <- c(4, 2, 5, 1, 4)
freq <- matrix(0, 5, 5)

freq[cbind(rows, cols)] <- freq[cbind(rows, cols)] + 1
freq
Run Code Online (Sandbox Code Playgroud)

我在特定的行和列上得到一个,但由于 (1, 4) 组合重复两次,我想找到一种方法将另一个 1 添加到它并使用 R 的矩阵索引以计算有效的方式使其成为两个像上面一样。

提前致谢!

indexing r matrix

2
推荐指数
1
解决办法
58
查看次数

标签 统计

indexing ×1

matrix ×1

prolog ×1

r ×1

vue-router ×1

vue.js ×1

vuejs2 ×1