Vue.Js - Firebase 函数不能在组件上使用

2023-12-10

我正在使用 Vue Resource 将数据从我的网络应用程序发布到 firebase。但是后来,我发现我需要使用 firebase 集成来上传 firebase 存储中的图像。所以我将它集成到我的 src/main.js 中

import Vue from 'vue'
import VueResource from 'vue-resource'
import VueRouter from 'vue-router'
import * as firebase from 'firebase'
import App from './App.vue'
import Routes from './routes'

Vue.use(VueResource);
Vue.use(VueRouter);

const router = new VueRouter({
  routes: Routes,
  mode: 'history'
});

new Vue({
  el: '#app',
  render: h => h(App),
  router: router,
  created () {
    firebase.initializeApp({
      apiKey: 'AIzaSyDhdEhcLPfGqo5_msnhVKWH9BkZNOc6RYw',
      authDomain: 'nots-76611.firebaseapp.com',
      databaseURL: 'https://nots-76611.firebaseio.com',
      projectId: 'nots-76611',
      storageBucket: 'gs://nots-76611.appspot.com'
    })
  }
})

但是当我尝试在我的组件方法之一中使用它时:

methods: {
    post: function(){
      //for(var i = 0; i < this.tailors.length; i++){
      //  if(this.$route.params.id == this.tailors[i].id)
      //    this.ready_to_wear.tailor_name = this.tailors[i].tName;
      //}
      //this.$http.post('https://nots-76611.firebaseio.com/ready_to_wear.json', this.ready_to_wear);
      let key
      firebase.database().ref('ready_to_wears').push(this.ready_to_wear)
        .then((data) => {
          key = data.key
          return key
        })
        .then(key => {
          const filename = this.image.name
          const ext = filename.slice(filename.lastIndexOf('.'))
          return firebase.storage().ref('rtws/' + key + '.' + ext).put(this.image)
        })
        .then(fileData => {
          imageUrl = fileData.metadata.downloadURLs[0]
          return firebase.database().ref('ready_to_wears').child(key).update({rtwImg: imageUrl})
        });
    }
}

..它在控制台日志中说'firebase' is not defined

我猜测 firebase 函数不能在组件中使用,即使它集成在 main.js 中

我如何在组件中使用它?还有其他办法吗?


您似乎没有使用 VueFire,我相信它通过 Vue 原型属性将 firebase 公开为 $firebase。但是,您可以自己手动完成。

import Vue from 'vue'
import VueResource from 'vue-resource'
import VueRouter from 'vue-router'
import * as firebase from 'firebase'
import App from './App.vue'
import Routes from './routes'

Vue.prototype.$firebase = firebase

之后,Firebase 将在everyVue 或组件作为this.$firebase.

methods: {
    post: function(){
        this.$firebase.database().ref() ... etc ...
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Vue.Js - Firebase 函数不能在组件上使用 的相关文章

随机推荐

  • 使用 CSS 更改特定单词的格式

    文本可以来自不同的来源 获取文本后 它将显示在站点上 从本文中 我需要使用 CSS 更改特定单词的格式 在下面的例子中database这个词必须改变 通过 JavaScript 可以轻松完成JSFiddle但我需要通过CSS而不是JavaS
  • 防止项目在其他(父/子)元素中“可放置”

    我使用 Knockout sortable js 让用户拖放项目以赋予它们不同的顺序 但是当我的页面上有多个 放置区域 时 我遇到了问题 我有嵌套集 所有这些都可以排序 但是not可互换 My code div class sortable
  • BundleTable.Bundles.GetBundleFor() 返回但不返回内部的项目

    Briefly 包含以下项目的捆绑包VirtualPath 由自定义 VirtualPathProvider 提供服务 不起作用 哈希值不是在v 并解决它们表明 Items财产为空 详细的 假设我们有一个捆绑注册 bundles Clear
  • ExtJS 4 - 网格 - 禁用特定列的行选择

    我用 extjs 4 创建了一个网格 Selection CheckboxModel 已实现 这意味着无论您在何处单击特定行 都会选择 取消选择该行 现在我想在最后一列上禁用此选择 因为它包含自定义按钮 如果单击按钮 我不想选择该行 有什么
  • Swift 4 中的 JSON 解析具有复杂和嵌套的数据

    我目前正在尝试使用 JSON 制作一个天气应用程序https openweathermap org但我在处理 JSON 文件中的天气部分时遇到了问题 我不确定如何访问对象内的 id 值 base stations clouds all 36
  • Openlayers 中的 KML 图层无法在本地主机上运行

    我在 OpenLayers 中渲染 KML 文件时遇到奇怪的问题 这似乎很容易 但事实并非如此 我从这里开始一个例子OpenLayer 示例 我想添加我自己的 KML 它不起作用 我使用绝对 URL 创建了该示例的本地副本 如下所示
  • 使用自定义小部件 kivy

    我正在尝试使用一些自定义小部件构建一个 kivy 应用程序 然而 每当我尝试使用它们时 它们都不会与我的布局配合使用 使用普通按钮 import kivy kivy require 1 8 0 from kivy app import Ap
  • python特定频率去除(陷波滤波器)?

    complie by python3 only test py import pyaudio import numpy as np import wave import time import math from pydub import
  • 如何从 PHP 中的 URL 字符串中提取查询参数?

    用户可以在我的网站上使用 HTML 表单输入 URL 因此他们可能会输入如下内容 它可以是任何东西 我需要提取某个查询参数的值 在本例中为 test 值 123 有没有办法做到这一点 您可以使用parse url and parse str
  • 检测客户端是平板电脑还是手机的最佳方法是什么?

    我目前正在开发一个客户端应用程序 该应用程序将为智能手机和平板电脑设计 因此它将得到两种不同的布局模式 虽然用户可以在两种模式之间切换 但我必须在第一次使用该应用程序时预先设置模式 因此 我正在寻找一种可靠的方法来自动检测用户是否带有平板电
  • 如何打印未读答案中的邮件正文和主题?

    我想获取收件箱中未读邮件的邮件主题和正文 我想一次阅读一封未读邮件并将其标记为read然后 我需要subject 发件人地址 and 邮件正文 下面的代码显示了所有未读邮件的邮件 ID require once mail3 php ews
  • Javascript 函数不等待 AJAX 响应

    我有一个名为的 AJAX 函数flagIt 它是从另一个名为的函数中调用的validateForm validateForm 在提交时执行 function validateForm var error do stuff to valida
  • 如何避免 spring-boot-admin 中的证书验证?

    如何避免 spring boot admin 中的证书验证 链接错误图片 https ibb co fkZu8y 我配置 RestTemplate 以避免在类中使用证书 但我不知道如何发送它 我猜它必须在客户端中 spring boot a
  • python 刷新/重新加载

    这是一个非常基本的问题 但我无法通过在线搜索找到答案 我正在使用 python 来控制 ArcGIS 并且我有一个简单的 python 脚本 它调用一些预先编写的代码 但是 当我对预先编写的代码进行更改时 它似乎不会导致任何更改 我导入这个
  • 通过 USB 将文件从 PC 传输到 Android 设备

    我想以编程方式通过 USB 将文件从我的电脑的特定端口传输到 Android 设备 以下哪种技术最适合这种传输模式 Sockets HttpUrlConnection 如果可以通过HttpUrlConnection意思是如何实现这个 通过
  • JavaFX自动滚动自动更新文本

    关于 JavaFX 的新手问题 我无法回答 尽管我知道它一定非常简单 而且在我看过的任何地方都没有找到任何资源 教程 许多 Oracle 在线文档 文章 以及知名JavaFX博主等 我正在开发一个命令行 脚本 运行的应用程序 并且我已经成功
  • constexpr 静态数据成员给出未定义的引用错误

    我正在开发内核 我想创建我的静态数据成员constexpr所以我可以在一个enum class 但是 如果我这样做 我会收到未定义的参考错误 只有当我将其设置为非 constexpr 并在类之外对其进行初始化时 它似乎才起作用 Workin
  • 如何使用其他 webcontroller odoo 9.0 更改 odoo 的默认页面

    我创建了一个具有特定功能的新 Web 控制器 我希望将此 Web 控制器作为odoo 9 0 我试过把 http route type http auth public website True in main py我的自定义 webcon
  • 链接 LLVM 导致 gcov 失败

    Passing coverage到 gcc 同时链接 LLVM 会导致undefined reference to gcov exit 来自链接器的错误 我已经建立了一个新项目来尝试解决这个问题 你可以查看github上的源码 and 检查
  • Vue.Js - Firebase 函数不能在组件上使用

    我正在使用 Vue Resource 将数据从我的网络应用程序发布到 firebase 但是后来 我发现我需要使用 firebase 集成来上传 firebase 存储中的图像 所以我将它集成到我的 src main js 中 import