网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
05月25日漏签0天
javascript吧 关注:269,268贴子:906,460
  • 看贴

  • 图片

  • 吧主推荐

  • 游戏

  • 5回复贴,共1页
<<返回javascript吧
>0< 加载中...

初来匝道请问各位前辈,长者,老师,英雄,好汉,大姐,大娘,大

  • 只看楼主
  • 收藏

  • 回复
  • 不雨不云
  • null
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
怎么在vue中调用组件中的方法

下面是源代码:
<!DOCTYPE html>
<html>
<head>
<title></title>
<style>
body {
font-family: Menlo, Consolas, monospace;
color: #444;
}
.item {
cursor: pointer;
}
.bold {
font-weight: bold;
}
ul {
padding-left: 1em;
line-height: 1.5em;
list-style-type: dot;
}
</style>
</head>
<body>
<script type="text/x-template" id="item-template">
<li>
<div
:class="{bold: isFolder}"
@click="toggle">
{{ item.name }}
<span v-if="isFolder">[{{ isOpen ? '-' : '+' }}]</span>
</div>
<ul v-show="isOpen" v-if="isFolder">
<tree-item
class="item1"
v-for="(child, index) in item.children"
:key="index"
:item="child"
></tree-item>
<li class="add" @click="$emit('add-item', item)">+</li>
</ul>
</li>
</script>
<ul id="demo" @click="f">
<tree-item v-for="item in treeData"
ref="from"
class="item2"
:item="item"
></tree-item>
</ul>
<script src="https://cdn.jsdelivr.net/npm/vue@2.5.13/dist/vue.js"></script>
<script type="text/javascript">
var treeData = [
{ name: 'hello' },
{ name: 'wat' },
{
name: 'child folder',
children: [
{
name: 'child folder',
children: [
{ name: 'hello' },
{ name: 'wat' }
]
},
{ name: 'hello' },
{ name: 'wat' },
{
name: 'child folder',
children: [
{ name: 'hello' },
{ name: 'wat' }
]
}
]
}
]
Vue.component('tree-item', {
template: '#item-template',
props: {
item: Object
},
data: function () {
return {
isOpen: false,
}
},
computed: {
isFolder: function () {
return this.item.children &&
this.item.children.length
}
},
methods: {
toggle: function () {
if (this.isFolder) {
this.isOpen = !this.isOpen
}
},
shou:function(){
console.log('调用了')
},
}})
var demo = new Vue({
el: '#demo',
data: {
treeData:treeData
},
methods:{
f:function(){
this.$refs.from.shou
}
}
})
</script>
</body>
</html>


  • 不雨不云
  • null
    2
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
自定


2025-05-25 05:07:27
广告
  • 神不虐菜虐大神
  • false
    3
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
methods: { f: function () { console.log(this.$refs.from); this.$refs.from[0].shou(); } } from获取的元素是个数组,给个下标再往下取就好了


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 5回复贴,共1页
<<返回javascript吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示