vue_组件细节点
1.子组件的is使用
2.子组件的data函数
3.ref的使用
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> .activated {color: red} </style> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div id="app"> <table> <tbody> <!-- h5规定tbody里面放tr>td,页面渲染时看起是一样的,但是dom节点渲染不一样--> <!-- ul>li, select>option --> <row></row> <row></row> <row></row> <!-- is代表是哪个组件 --> <td is="row"></td> <td is="row"></td> </tbody> </table> <ul> <li is="liRow"></li> <li is="liRow"></li> <li is="liRow"></li> </ul> <h3>ref获取dom对象</h3> <div ref="getDOM" @click="handleClick"> click me</div> <h3>组件使用ref,获取的是子组件的引用</h3> <counter ref="one" @change="handleChange"></counter> <counter ref="two" @change="handleChange"></counter> <div>{{total}}</div> </div> </body> <script type="text/javascript"> Vue.component('row', { //子组件定义数据的时候,必须是一个函数 //让每个子组件都有独立的数据存储 data () { return { content: 'this is a row' } }, template:'<tr><td>{{content}}</td></tr>' }) Vue.component('liRow', { template:'<li>this is a li</li>' }) Vue.component('counter', { data () { return { count: 0 } }, template: '<div @click="handleClick">{{count}}</div>', methods: { handleClick () { this.count++ this.$emit('change') } } }) let vm = new Vue({ el: '#app', data: { total: 0 }, methods: { handleClick () { //$refs对象保存的是vue实例中所有的dom引用 console.log(this.$refs.getDOM.innerHTML = 'hei jack') }, handleChange () { // ref用在组件上时,保存的时组件的引用 console.log(this.$refs.one) this.total = this.$refs.one.count + this.$refs.two.count } } }) </script> </html>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!