基本上,我希望能够通过将dataBus设置为vue实例对象来访问一些集中式数据,然后从不同的组件访问和调整这些数据。
我似乎无法通过组件来访问数据,甚至连基本的字符串插值都没有呈现到DOM中。
export const dataBus = new Vue({
data: {
numQuotes: 4,
stringVar: 'Hellow There'
}
});我还尝试将数据设置为函数data()的返回。但是,作为我的数据总线是一个实际的vue实例,我不认为这是正确的。(我可能错了)。下面是导入dataBus并尝试输出数据的组件。
<template>
<div>
<h1>Quotes Added</h1>
<div id="trackerBar">
<div id="trackerBarActual">
<h2>{{numQuotes}}/10</h2>
</div>
</div>
</div>
</template>
<script>
import { dataBus } from '../main.js';
export default{
}
</script>我得到了以下错误:属性或方法"numQuotes“不是在实例上定义的,而是在呈现过程中引用的。确保在data选项中声明反应性数据属性。
我漏掉了什么明显的东西吗?是否有可能以这种方式访问数据?还是我必须作为一种方法访问它?
发布于 2017-07-28 01:27:53
您缺少了将data分配给组件的部分。试一试
<script>
import { dataBus } from '../main.js';
export default{
data () {
return dataBus.$data
}
}
</script>不过,您肯定应该查看维克斯以进行状态管理。
https://stackoverflow.com/questions/45363347
复制相似问题