小编Bad*_*dgy的帖子

NUXT 如何将数据从页面传递到布局

我正在创建一个非常简单的网站。我想根据navLayout页面模板中设置的数据更改导航栏元素。我想将数据传递给布局,然后使用props将其发送到NavBar. 我的问题是如何emit从页面到布局的数据。

布局/default.vue

<template>
  <div>
    <NavBar />
    <div class="site-container">
      <nuxt />
    </div>
    <Footer />
  </div>
</template>
<script>
import NavBar from '~/components/NavBar.vue'

export default {
  components: {
    NavBar,
  }
}
</script>
Run Code Online (Sandbox Code Playgroud)

页面/index.vue

...
<script>
export default {

  data: () => {
    return {
      navLayout: 'simple'
    }
  },
  computed: () => {
    return {
    this.$emit('navLayout', value)
    }

  }
...
</script> 
Run Code Online (Sandbox Code Playgroud)

javascript vue.js nuxt.js

9
推荐指数
1
解决办法
7542
查看次数

Nuxt Firebase 身份验证中间件

我使用 Nuxt(vue) 作为前端,使用 Firestore 和 Authentication 作为后端。我得到了一定数量的身份验证,但我的问题是刷新浏览器会重置状态,因此我的中间件返回错误结果。

这里有一些代码片段:

中间件:

export default function ({store, redirect, route}) {

    const userIsLoggedIn = !!store.state.currentUser; 

    if(!userIsLoggedIn) {
        return redirect ('/')
    } 
}
Run Code Online (Sandbox Code Playgroud)

插入:

import { auth } from '@/services/firebaseInit.js'

export default (context) => {
    const { store } = context

    return new Promise((resolve, reject) => {
        auth.onAuthStateChanged(user => {
            store.commit('setCurrentUser', user)
            resolve()
        })
    })
}
Run Code Online (Sandbox Code Playgroud)

现在这适用于运行应用程序,但是当有人刷新您需要身份验证的页面时,它不起作用并重定向到 /,现在我不知道如何解决该问题,希望得到帮助,如果您需要更多代码,我会提供它。

编辑 1:

   async nuxtServerInit ({ commit }, { req }) {
            let user = await firebase.auth().currentUser

            commit('setCurrentUser', user) …
Run Code Online (Sandbox Code Playgroud)

javascript firebase vue.js firebase-authentication nuxt.js

6
推荐指数
1
解决办法
5162
查看次数

Vuetify - 应用导航抽屉不会将内容推到一边

我有一个抽屉式导航不将内容推到一边从移动它mini.variantopened

<v-navigation-drawer
  class="chatbar--gradient"
  app
  right
  :mini-variant.sync="closed"
  mini-variant-width="70"
  width="250px"
></v-navigation-drawer>
Run Code Online (Sandbox Code Playgroud)

App.vue

<v-app dark>
  <app-navbar></app-navbar>
  <navigation-bar></navigation-bar>
  <v-slide-y-transition>
    <chat-sidebar></chat-sidebar>**
    <!-- THIS IS THE MODAL FROM ABOVE -->
    **
  </v-slide-y-transition>
  <v-content>
    <keep-alive>
      <transition name="fade">
        <router-view :key="$route.fullPath" />
      </transition>
    </keep-alive>
    <display-name-entry-modal></display-name-entry-modal>
  </v-content>
  <v-footer v-if="$vuetify.breakpoint.smAndUp" tile padless height="3px" app class="pageFooter"></v-footer>
  <bottom-nav v-if="$vuetify.breakpoint.smAndDown"></bottom-nav>
</v-app>
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vuetify.js

6
推荐指数
0
解决办法
2935
查看次数

Firestore .startAt无法正常工作

infiniteHandler($state) {
    var next = db
        .collection("posts")
        .orderBy("timestamp", "desc")
        .startAfter(this.lastVisible)
        .limit(3)

    next.get().then(documentSnapshots => {
        //Get the last visible document
        // this.lastVisible =
        // documentSnapshots.docs[documentSnapshots.docs.length - 1]

        if (documentSnapshots.docs.length == 0) $state.complete()
        else {
            this.$store.commit(
                "modules/posts/updateLastVisible",
                documentSnapshots.docs[documentSnapshots.docs.length - 1].data()
                .timestamp
            )
        }

        documentSnapshots.forEach(doc => {
            var post = doc.data()
            post.docID = doc.id
            this.$store.commit("modules/posts/pushPost", post)
        })
        $state.loaded()
    })
}
Run Code Online (Sandbox Code Playgroud)

这是我的无限加载处理程序,它在到达列表末尾时获取新的数据库条目.到目前为止工作正常.

这是我加载页面时的第一次获取

async fetch({ store }){
    if (store.state.modules.posts.posts.length < 5) {
        let posts = []
        await db
            .collection("posts")
            .orderBy("timestamp", "desc")
            .limit(3)
            .get()
            .then(querySnapshot …
Run Code Online (Sandbox Code Playgroud)

javascript firebase vue.js google-cloud-firestore nuxt

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

在给定日期删除重复的行组合

因此,我有一个大约160 000条目的数据集,它们是计算机生成的,多年来发生了错误。

可以说表有以下几列:

- EntryID (auto int)
- FruitNumber
- JuiceNumber
- CandyNumber
- Date
Run Code Online (Sandbox Code Playgroud)

现在重要的是,FruitNumber, JuiceNumber,CandyNumber当它们之间的时间少于12个月时,的每个组合都是唯一的。

这意味着这些精确组合只能在12个月内存在一次。现在,我需要将此数据集迁移到新的数据模型中,为此,我需要删除重复的记录(但保留其中的1条记录),我尝试使用Queries进行了很多尝试,但找不到解决方案。

sql t-sql sql-server

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

Firestore 时间戳保存为地图

以下片段

const start = new Date(this.date + 'T' + this.time);
console.log(start); // Thu Sep 12 2019 04:00:00 GMT+0200

const tournament:Tournament = {
      start: firebase.firestore.Timestamp.fromDate(start)
}
Run Code Online (Sandbox Code Playgroud)

将此锦标赛对象传递给可调用云函数(其唯一目的是将tournament传递的数据保存为文档)会将start字段保存为具有属性的地图seconds,而miliseconds不是 Firestore 中的时间戳。

我也尝试这样做start: start,但这也没有带来在 Firestore 中保存时间戳的预期结果。

仅供参考,这是功能代码精简后的样子:

firestore.collection('tournaments').doc(slugUrl).set(tournamentData)

(tournamentData是前端传入的Object)

javascript node.js firebase google-cloud-firestore

4
推荐指数
1
解决办法
1635
查看次数

项目之间的Firestore和Storage Bucket导出/导入

因此,在当前的Google Cloud CLI Beta功能中,可以选择导入和导出Firestore数据。 https://firebase.google.com/docs/firestore/manage-data/export-import

现在,我进行了“导出到存储桶”操作,一切正常,然后再次导入,效果也很好。现在我有两个不同的项目,想将备份导入到另一个项目中,这可能吗?如果我也只需要一个项目的计费帐户,那将很好。

Docs中的这一行表示可能

在Cloud Storage中导出文件后,您可以将这些文件中的文档导入回到您的项目或另一个项目中。

但是文档没有涵盖其具体执行情况吗?

google-cloud-storage firebase google-cloud-firestore

3
推荐指数
1
解决办法
2084
查看次数

Firestore 文档打字稿 doc.data() 未定义?

目前正在清理一些代码并用打字稿重写很多内容。我发现让我好奇的是以下代码:

    const userRef = firestore.collection('users').doc(userId);
    const userDoc = await userRef.get();

    if (userDoc.exists) {
        const userData = userDoc.data();

        const currentUserBalance = userData.balance ? userData.balance : 0;
    }
Run Code Online (Sandbox Code Playgroud)

现在 Typescript 会抱怨这userData是可能的,但是当我检查我的块中上面存在的文档时,undefined文档不能是未定义的。只是好奇为什么会发生这种情况以及我这里是否有逻辑问题。.data()if

javascript firebase typescript google-cloud-firestore

3
推荐指数
1
解决办法
2621
查看次数

如何根据语言环境将字符串转换为数字 javascript

如果我做:

var number = 35000.25; alert(number.toLocaleString("de-DE"));我会用35.000,25德语。

但我怎样才能将它转换回35000.25或者我想要类似的东西:

var str='35.000,25'; alert(str.toLocaleNumber("en-US"));所以,它可以给35,000.25.

JS可以吗?

javascript angular

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

基于文本框值的CSS选择器

我有一个支持CSS/bootstrap 3.2的环境,但是没有javascript.我正在尝试使用纯CSS选择器+ HTML实现列表过滤解决方案.

假设,HTML列表元素中有2个项目.我想只显示与输入元素中输入的文本匹配的那些.

<form>
  <ul>
    <li class ="c1">c1</li>
    <li class="c2">c2</li>
  </ul>

  <input type="text">
</form>
Run Code Online (Sandbox Code Playgroud)

如果我输入c1文本框,那应该只显示第一个项目.这甚至可能使用纯css,没有JS?

html javascript css

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

vue-dropzone 不会在文件添加时生成缩略图

我想将服务器上已有的文件添加到 Dropzone,我尝试通过 vue-dropzone Docs 以及普通的 dropzone 文档搜索我的问题,我也经历了 5+ github 问题并尝试了那里的帮助方法,但我似乎没有找到解决方案。

所以我调用这个方法:

    this.product.images.forEach(image => {
      const file = { name: 'Icon', type: 'image/jpeg', dataURL: image };
      this.$refs.dropzone.manuallyAddFile(file, image);
    });
Run Code Online (Sandbox Code Playgroud)

文件被正确添加,但我根本没有生成缩略图。这基本上就是整个问题。

javascript dropzone.js vue.js

0
推荐指数
1
解决办法
1207
查看次数