VueJS 数据()不工作
VueJS data() not working
我正在尝试制作一个 VueJS 应用程序,但即使使用最简单的示例我也失败了。
我正在使用 Laravel 5.3 预构建的 VueJS 支持(第 1 版,我也尝试过第 2 版)。
这是我的 Example.vue 组件
<template>
<div class="profile">
{{ name }}
</div>
</template>
<script>
export default {
data () {
return {
name: 'John Doe'
}
}
}
</script>
这是主要代码
Vue.component('example', require('./components/Example.vue'));
const app = new Vue({
el: '#app'
});
这是每次在控制台中出现的错误:
[Vue warn]: 属性 或方法 "name" 未在实例上定义,但在渲染期间被引用。确保在数据选项中声明响应式数据属性。 (在组件中找到)
有什么想法吗?
谢谢
在模板中调用组件
Vue.component('example', {
template: `<div class="profile">{{ name }}</div>`,
data () {
return {
name: 'John Doe'
}
}
})
const app = new Vue({
el: '#app'
})
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<div id="app"><example></example></div>
在您的 script
标签中使用:
而不是 export default
module.exports = {
data() {
return { counter: 1 }
}
}
这应该适合你
问题是您正试图从该文件加载组件 'example' 但您没有给它命名。你应该使用:
<script>
export default {
name: 'example',
data() {
return {
name: 'John Doe'
}
}
}
</script>
或者通过以下方式加载组件(不确定是否需要扩展.vue):
require('./exmaple').default();
如果您使用的是 Babel,您还可以使用以下语法加载组件而不给它们命名:
import Example from ./example
另请查看 以获取更多信息,以防您使用 Babel
我正在尝试制作一个 VueJS 应用程序,但即使使用最简单的示例我也失败了。 我正在使用 Laravel 5.3 预构建的 VueJS 支持(第 1 版,我也尝试过第 2 版)。
这是我的 Example.vue 组件
<template>
<div class="profile">
{{ name }}
</div>
</template>
<script>
export default {
data () {
return {
name: 'John Doe'
}
}
}
</script>
这是主要代码
Vue.component('example', require('./components/Example.vue'));
const app = new Vue({
el: '#app'
});
这是每次在控制台中出现的错误:
[Vue warn]: 属性 或方法 "name" 未在实例上定义,但在渲染期间被引用。确保在数据选项中声明响应式数据属性。 (在组件中找到)
有什么想法吗? 谢谢
在模板中调用组件
Vue.component('example', {
template: `<div class="profile">{{ name }}</div>`,
data () {
return {
name: 'John Doe'
}
}
})
const app = new Vue({
el: '#app'
})
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<div id="app"><example></example></div>
在您的 script
标签中使用:
export default
module.exports = {
data() {
return { counter: 1 }
}
}
这应该适合你
问题是您正试图从该文件加载组件 'example' 但您没有给它命名。你应该使用:
<script>
export default {
name: 'example',
data() {
return {
name: 'John Doe'
}
}
}
</script>
或者通过以下方式加载组件(不确定是否需要扩展.vue):
require('./exmaple').default();
如果您使用的是 Babel,您还可以使用以下语法加载组件而不给它们命名:
import Example from ./example
另请查看