nativescript - Nativescript-vue:如何使自定义组件可点击?
问题描述
我可以使自定义元素可点击吗?
这是我的组件:
<template>
<FlexboxLayout class="profile-item" flexDirection="column">
<label :text="text" />
<label class="subtext" v-if="subtext" :text="subtext" />
</FlexboxLayout>
</template>
这就是我想使用它的方式:
<template>
<ScrollView>
<StackLayout>
<Item text="Test" @tap="onItemTap" />
<Button text="Button" @tap="onItemTap" />
</StackLayout>
</ScrollView>
</template>
<script>
import Item from "./Item";
export default {
components: {
Item
},
methods: {
onItemTap(event) {
alert('test');
},
}
};
</script>
点击按钮有效,但不是我的自定义元素。
解决方案
您可以从自定义元素内部处理点击事件,也可以将自定义元素包装在 aContentView
中并将点击事件附加到容器,如下所示:
<template>
<ScrollView>
<StackLayout>
<ContentView @tap="onItemTap">
<Item text="Test" />
</ContentView>
<Button text="Button" @tap="onItemTap" />
</StackLayout>
</ScrollView>
</template>
推荐阅读
- node.js - 如何在节点中的函数调用中等待回调?
- ios - 在 UIScrollView 上绘制上边框
- python - Python Pandas - 采样:限制随机选择的项目数量
- python - Cron 作业不会并行执行
- arm - 控制 GPIO 管脚:所有管脚一个类别还是每个管脚一个类别?
- typescript - 如何阻止 TypeScript 编译器报告符号链接模块中的编译错误
- javascript - 区别!!vs 直接检查价值
- google-apps-script - 需要 Google Docs 的脚本来发送自动电子邮件
- javascript - Django如何将查询集转换为json?
- javascript - Firefox 扩展:chrome.system 未定义