javascript - 在 Vue&Vuex 中,如何在子组件中激活 onclick 方法?
问题描述
我正在尝试编辑已经存在但由 Vue.js 组成的 JS 库。所以我研究了一下Vue。问题是我制作了名为“分析”的子组件并想要锚定函数。我制作了标记并将'moveAnchor'方法绑定到onclick,还在方法部分声明了'moveAnchor'。但它没有用。我该如何解决?我很抱歉没有经验.. :(
它是分析的script.js。
import { mapActions, mapState } from 'vuex';
export default {
name: 'Analysis',
computed: {
checkName : function(){
var flag = this.$store.state.analysis.name;
if(flag.indexOf("/PCs/") != -1){
console.log(flag);
}
}
},
methods: {
moveAnchor: function (id){
var div = document.getElementById(id).scrollIntoView();
}
它是分析的template.html。
<div :class="$style.scrollarea">
<div :class="$style.dropdown">
<button :class="$style.dropbtn">Analysess</button>
<div :class="$style.dropContent">
<a v-for="item in analyData" v-bind:key="item.id" @onclick="moveAnchor(item.id)">
{{ item.title }}
</a>
</div>
</div>
<span>
{{ checkName }}
</span>
<div v-for="item in analyData">
<h1 v-bind:id="item.id">{{ item.title }}</h1>
<img v-bind:src="item.src" style="width: 100%; height: auto">
</div>
解决方案
欢迎来到 StackExchange!
Vue 的点击事件的正确绑定是v-on:click
, 或@click
简写。所以当你写的时候@onclick
,Vue 永远不会调用它。
只需更改@onclick
为@click
,一切都应该正常。
推荐阅读
- encryption - 数字的一次性密码
- spring - Oracle 连接池在我们第一次获得连接时抛出 ORA-00942。这只发生在第一次
- python - 根据一组条件检查字典列表并返回匹配键
- amazon-web-services - 我想在运行代码部署时在被新自动缩放组替换的 EC2 实例上运行脚本
- cakephp - 我无法在 ckeditor 工具栏的样式部分中呈现上标、下标和下划线按钮
- android - 如何通过单击按钮在片段之间切换并相互传输数据?
- architecture - 事件溯源架构是否需要使用消息队列?
- node.js - 为什么我的等待不等待我的功能完成?
- file-upload - 如何将文件上传到 KeystoneJS 服务器
- json - 在 SQL Server 2017 中以列形式返回所有 JSON 值和属性