首页 > 其他分享 >条件渲染,列表渲染,双向数据绑定,事件处理,checkbox单选,

条件渲染,列表渲染,双向数据绑定,事件处理,checkbox单选,

时间:2023-06-05 19:33:06浏览次数:28  
标签:count 事件处理 good name 渲染 price Title 单选 id

条件渲染v-if,v-else-if,v-else:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="/js/vue.js"></script>
</head>
<body>
<div id="app">
    <div   v-if="score>90&&score<100">优秀</div>
    <div    v-else-if="score>80&&score<=90">良好</div>
    <div    v-else-if="score>60&&score<=80">及格</div>
    <div    v-else>不及格</div>
</div>

<script>
    var vm = new Vue({
        el: '#app',
        data: {
            score: 60
        },
        methods: {},
    })
</script>
</body>
</html>

 

列表渲染:v-for的使用

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="/js/vue.js"></script>

    <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css"
          integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
</head>
<body>
<div id="app">
    <div class="container-fluid">
        <div class="row">
            <div class="col-md-6 col-lg-offset-3">
                <h1 class="text-center">购物车</h1>
                <div    class="pull-right">
                    <button class="btn-success  btn"    @click="hans">点我看看</button>
                </div>
                <table class="table table-striped">
                    <thead>
                    <tr>
                        <th>序号</th>
                        <th>商品名</th>
                        <th>价格</th>
                        <th>数量</th>
                    </tr>
                    </thead>
                    <tbody>
                    <tr v-for="good in good_list">
                        <td>{{good.id}}</td>
                        <td>{{good.name}}</td>
                        <td>{{good.price}}</td>
                        <td>{{good.count}}</td>
                    </tr>
                    </tbody>
                </table>
            </div>
        </div>
    </div>
</div>


<script>
    var vm=new Vue({
        el:'#app',
        data:{
            good_list:[]
        },
        methods:{
            hans(){
                this.good_list=[ {'id':1,'name':'汽车','price':100000,'count':5},
                {'id':2,'name':'火车','price':10000,'count':2},
                {'id':3,'name':'机动车','price':500000,'count':1},
                {'id':4,'name':'三轮车','price':1000,'count':0},
                {'id':5,'name':'摩托车','price':10500,'count':10},
                {'id':6,'name':'自行车','price':1100,'count':20},]
            }
        }
    })
</script>
</body>
</html>

v-for循环其他数据类型:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="/js/vue.js"></script>

    <link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css"
          integrity="sha384-HSMxcRTRxnN+Bdg0JdbxYKrThecOKuH5zCYotlSAcp1+c8xmyTe9GYg1l9a69psu" crossorigin="anonymous">
</head>
<body>
    <div    id="app">
        <h1>循环数字</h1>
        <ul>
            <li v-for="i in number">{{i}}</li>
        </ul>
        <h1>循环字符串</h1>
        <ul>
            <li v-for="i in str">{{i}}</li>
        </ul>
        <h1>循环数组</h1>
        <ul>
            <li v-for="i in arr">{{i}}</li>
        </ul>
        <h1>循环对象</h1>
        <ul>
            <li v-for="(value,key) in obj">{{key}}-------------{{value}}</li>
        </ul>
    </div>

    <script>
        var vm=new Vue({
            el:'#app',
            data:{number:10,
                str:'hello world',
                arr:[5,4,8,4,7,6,8,4],
                obj:{'name':'ydh','age':18}
            },
            methods:{}
        })
    </script>
</body>
</html>

双向数据绑定:v-model

  只有input框------------->v-model做双向绑定

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="/js/vue.js"></script>
</head>
<body>
    <div    id="app">

        <p>用户名<input type="text"   v-model="username"></p>
        <p>密码<input type="password" v-model="password"></p>
        <button @click="hans">提交</button>
    </div>

    <script>
        var vm=new Vue({
            el:'#app',
            data:{
                username:'',
                password:''
            },
            methods:{
                hans(){
                    console.log(this.username)
                    console.log(this.password)
                }
            }
        })
    </script>
</body>
</html>

事件处理:

input标签的事件
-input:只要输入内容,就会触发
-change:只要输入框发生变化,就会触发
-blur:只要失去焦点,就会触发

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="/js/vue.js"></script>
</head>
<body>
    <div    id="app">
        <h1>input事件</h1>
        用户名:<input type="text"  @input="hans"   v-model="username">
        
        <h1>change事件</h1>
        用户名:<input type="text"  @change="hanchange" v-model="username1">

        <h1>blur事件</h1>
        用户名:<input type="text"  @blur="hanblur" v-model="username2">
    </div>

    <script>
        var vm=new Vue({
            el:'#app',
            data:{
                username:'',
                username1:'',
                username2:'',
            },
            methods:{
                hans(){
                    console.log(this.username)
                },
                hanchange(){
                    console.log(this.username1)
                },
                hanblur(){
                    console.log(this.username2)
                }

            }
        })
    </script>
</body>
</html>

checkbox单选和多选,radio单选:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="/js/vue.js"></script>
</head>
<body>
    <div    id="app">
        <h1>checkbox单选</h1>
        <p>用户名:<input type="text"   v-model="username"></p>
        <p>密码:<input type="password"   v-model="password"></p>
        <p>记住密码:<input type="checkbox"   v-model="remeber"></p>
        <p>
            篮球<input type="checkbox"  v-model="hobby">
            足球:<input type="checkbox"  v-model="hobby">
            乒乓球:<input type="checkbox"  v-model="hobby">
        </p>
        <p>性别:
            男:<input type="radio"   v-model="gender"  value="1">
            女:<input type="radio"   v-model="gender"  value="2">
        </p>
    </div>

    <script>
        var vm=new Vue({
            el:'#app',
            data:{
                username:'',
                password:'',
                remeber:true,
                hobby:[],
                gender:'',
            },
            methods:{}
        })
    </script>
</body>
</html>

 

标签:count,事件处理,good,name,渲染,price,Title,单选,id
From: https://www.cnblogs.com/Hao12345/p/17458765.html

相关文章

  • 运用webkit绘制渲染页面原理解决iscroll4闪动的问题
    PostedbyunbugonSep19,2012inCSS3,MobileWebApp,OPOA|1comment已经有不少前端同行抱怨iScroll4的各种问题,我个人并不赞同将这些问题归咎于iScroll4,因为iScroll4进无论是touch事件的捕获,还是使用transform来处理滚动,以及将cubic-bezier应用到transition上实现高效......
  • 关于echarts无法在mounted中渲染的问题
    最初实现:echarts图标被单独作为一个组件引入,通过传入数据来显示。<divclass="echart"><divclass="echarts-cont"><Charts:dataList="list":total="total"></Charts></div>echarts组件代码:exportdefault{name:"......
  • Vue——属性指令、style和class、条件渲染、列表渲染、事件处理、数据双向绑定、过滤
    vm对象<body><divid="app"><h1>{{name}}</h1><button@click="handleClick">点我</button></div></body><script>//1写在data或method中的属性或方法,从vm中直接可以点出来//2method的函数中,如......
  • 浏览器渲染HTML的步骤
       HTML被HTML解析器解析成DOMTree,CSS则被CSS解析器解析成CSSOMTree`。DOMTree和CSSOMTree解析完成后,被附加到一起,形成渲染树(RenderTree)。节点信息计算(重排),这个过程被叫做Layout(Webkit)或者Reflow(Mozilla)。即根据渲染树计算每个节点的几何信息生成布局......
  • vue基础用法-内容渲染指令
    1.指令的概念指令(Directives)是vue为开发者提供的模板语法,用于辅助开发者渲染页面的基本结构。vue中的指令按照不同的用途可以分为如下6大类:内容渲染指令属性绑定指令事件绑定指令双向绑定指令条件渲染指令列表渲染指令注意:指令是vue开发中最基础、最常用、最简单的知识......
  • 输入URL到页面渲染过程
    1.输入URL;2.浏览器查找当前URL是都存在缓存并且比较是否过期;3.DNS解析对呀的IP地址;首先会在本地的hosts文件中查看,若没有则需要通过DNS(域名分布系统)服务器查找;4.根据IP地址建立TCP链接(进行三次握手);5.发起http请求;6.服务器处理请求,浏览器接收http响应(HTML文件);7.关闭TCP连接......
  • 如何使用RadioMenuItem添加单选菜单项
    如何使用RadioMenuItem添加单选菜单项几个RadioMenuItem可以组成一个组合,组合中只能有一个菜单条目被选择。效果展示示例代码importjavafx.application.Application;importjavafx.scene.Scene;importjavafx.scene.control.Menu;importjavafx.scene.control.MenuBar;......
  • webgl 渲染带透明通道的视频(threeJS)
    首先,你需要一个这样的视频 或者一个这样的视频 webgl渲染可以用three.js,上下叠加的代码如下:import*asTHREEfrom'three';letvideoWidth=540;//视频实际的宽度letvideoHeight=540;//原视频实际的高度的一般//定义渲染器varrenderer=new......
  • 如何使用ComboBox以获取用户的单选并可编辑
    如何使用ComboBox以获取用户的单选并可编辑ComboBox是一种单选下拉框,和ChoiceBox很类似。ComboBox不仅可以接收用户的一个选项,还可以提供可编辑框,让用户输入内容。效果展示示例代码importjavafx.application.Application;importjavafx.geometry.Insets;importjava......
  • Focus On 3D Terrain Programming三维地形渲染-Trent Polack-2003
    前言:你有多少次访问过你最喜欢的编程论坛或邮件列表,并对大量关于地形渲染算法的帖子感到惊讶,这些帖子似乎从各个角度向你袭来?地形渲染似乎是当今业余程序员最喜欢的主题;它是一个很好的门户网站,可以了解更高要求的问题及其解决方案。然而,地形渲染决不是一个简单的问题,特定的解决方......