【发布时间】:2017-03-06 19:51:36
【问题描述】:
从 React 来到 Vue。大多数情况下有很多相似之处,但通过props 似乎有点不同。我找不到太多关于如何使用单个文件组件执行此操作的文档。我将应用程序的所有数据导入main.js。我想知道如何将我的部分数据(例如currentUser)发送到ResourceInfo.vue?再次假设这些都是单个文件组件。我是否需要通过main.js 模板选项下的<App/> 部分将其传递给App.vue 中的<resource-info></resource-info>,然后以某种方式传递给ResourceInfo.vue?我也不想学习 Vuex,因为我才刚刚开始。谢谢!
main.js
import Vue from 'vue'
import App from './App'
import ResourceInfo from '../src/components/ResourceInfo'
var db = firebase.database();
var auth = firebase.auth();
/* eslint-disable no-new */
var vm = new Vue({
el: '#app',
data: function() {
return {
users: {},
currentUser: {},
quizzes: {},
resources: []
}
},
template: '<App/>',
components: { App, ResourceInfo },
})
App.vue
<template>
<div id="app">
<navbar></navbar>
<resource-info></resource-info>
</div>
</template>
<script>
import Navbar from './components/Navbar'
import ResourceInfo from './components/ResourceInfo'
export default {
name: 'app',
components: {
Navbar,
ResourceInfo
}
}
</script>
<style>
</style>
ResourceInfo.vue
<template>
</template>
<script>
var resourcesRef = firebase.database().ref('resources');
module.exports = {
name: 'resource-info',
data: function() {
return {
header: 'Before you build your quiz we just need some quick info.',
resource: {
type: '',
title: '',
url: '',
desc: '',
timesPassed: 0
},
}
},
firebase: {
resources: resourcesRef
},
methods: {
saveToFirebase: function() {
resources.push({
resource: this.resource
})
// Clear inputs
this.resource.title = '',
this.resource.type = '',
this.resource.desc = '',
this.resource.url = ''
console.log("Saving resource data...")
}
}
}
</script>
<style>
</style>
【问题讨论】:
标签: javascript vue.js