【发布时间】:2018-04-05 11:45:40
【问题描述】:
【问题讨论】:
-
尽量不要在id中使用“-”,改用camelCase
标签: javascript webpack vue.js vue-loader
【问题讨论】:
标签: javascript webpack vue.js vue-loader
那个元素在那个阶段不会存在,因为它还没有被挂载,它需要在挂载的钩子中完成:
<template>
<canvas id="canvas-basic"></canvas>
</template>
<script type="text/javascript">
export default{
mounted(){
console.log(document.getElementById('canvas-basic'));
}
}
</script>
见:见:https://vuejs.org/v2/guide/instance.html#Instance-Lifecycle-Hooks
这是 JSFiddle:https://jsfiddle.net/ksg7vyyq/
你也可以使用ref:
<template>
<canvas ref="canvasBasic"></canvas>
</template>
<script type="text/javascript">
export default{
mounted(){
console.log(this.$refs.canvasBasic);
}
}
</script>
这是 JSFiddle:https://jsfiddle.net/gkc5c1ph/
此外,您似乎是在 Vue 对象之外编写代码,请务必查看文档以了解如何正确格式化您的代码。
【讨论】:
mounted 是页面上所有元素都存在的点,如果您需要访问它们来初始化组件,那么您应该使用安装的钩子。您可以在 created 挂钩中初始化数据。老实说,你很少会使用其他 webhook,所以这两个是专注于学习的。