首页 > 其他分享 >js循环方式、v-model、事件处理、表单控制、购物车案例

js循环方式、v-model、事件处理、表单控制、购物车案例

时间:2023-09-18 17:25:19浏览次数:38  
标签:count 事件处理 name price js 循环 model id

js循环方式

js循环 for(),基于索引的循环

let :es6语法,用于定义变量

const:用于定义常量

var以后尽量少用

、for循环写法一:

 for循环写法二:

 列表循环

 循环方式二:in循环

基于迭代的循环,依赖于索引取值

直接console.log是索引值,只有list[i]才是要取的值

 循环方式三:of循环

和python中的in一样,这个直接console.log是要取的值

 数组的方法:循环 forEach

第一个值是正常取值,第二个值是索引值

 jq的取值

 key值的解释

vue中使用v-for的时候,在标签上会看到key属性

key = ''item'' 用的是属性指令

key对应的值必须是唯一的

在循环的标签上,加key值的好处是,加速dom的替换

区别只在循环的变量变化时,效率高低,但是一定要注意的是:value必须是唯一

 

Vue.set的使用

以后可能遇到数据变了,页面没有变的情况

不能直接更改,要借助于vue提供的方法,Vue.Set更改

以后只要发现数据变了,页面没变,就先用Vue.set试一下

 代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.4/jquery.js"></script>
    <link href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/3.4.1/js/bootstrap.min.js"></script>
    <script src="js/vue.js"></script>
</head>
<body>
<div id="app">
    <div class="container-fluid">
        <div class="row">
            <div class="col-md-6 col-md-offset-3">
                <div class="text-center">
                    <button class="btn btn-danger" @click="handleshow">点击显示购物车</button>
                    <button class="btn btn-danger" @click="handledel">删除最后一条</button>
                    <button class="btn btn-danger" @click="handleres">反转</button>
                    <button class="btn btn-danger" @click="handlefirst">变更第一条</button>
                </div>
                <table class="table table-bordered">
                    <thead>
                    <tr>
                        <th>id名</th>
                        <th>商品名称</th>
                        <th>商品价格</th>
                        <th>商品数量</th>
                    </tr>
                    </thead>
                    <tbody>
                    <tr v-for="i in good_list" v-show="isShow">

                        <td>{{i.id}}</td>
                        <td>{{i.name}}</td>
                        <td>{{i.price}}</td>
                        <td>{{i.count}}</td>
                    </tr>
                    </tbody>
                </table>
            </div>
        </div>
    </div>

</div>
</body>
<script>
    var vm = new Vue({
        el: '#app',
        data: {
            good_list: [],
            isShow: false
        },
        methods: {
            handleshow() {
                this.good_list = [
                    {id: 1, name: '钢笔', price: 9.9, count: 4},
                    {id: 2, name: '足球', price: 99, count: 4},
                    {id: 3, name: '篮球', price: 44, count: 32},
                    {id: 4, name: '电脑', price: 1299, count: 48},
                    {id: 5, name: '鼠标', price: 23, count: 4},
                    {id: 6, name: '脸盆', price: 8, count: 4},
                ]
                this.isShow = !this.isShow
            },
            handledel() {
                this.good_list.pop()
            }, handleres() {
                this.good_list.reverse()
                console.log(this.good_list)
            },
            handlefirst() {
                Vue.set(this.good_list, 0, {id: 1, name: '专辑', price: 200, count: 1})
            }

        }
    })
</script>

</html>

v-model的使用

v-model和value的区别,单项和双向的区别,v-model在控制台改变,页面数据也会改变,页面数据改变控制台也改变,:value="username" 对input标签做绑定,它只能单项的绑定,js变量变,页面会变,页面变,js变量不会变 v-model可以将结果返回,value不会,但是会将当前的值放入文本框中 v-model:

value:

<body>
<div id="app">
    <div class="container-fluid">
        <div class="row">
            <div class="col-md-6 col-md-offset-3">
                <div class="text-center">

                    <h3>v-model的使用</h3>
                    <p>用户名:<input type="text" v-model="username" ></p>
                    <p>密码:<input type="password" v-model="password"></p>
                    <button class="btn btn-info" @click="handlelogin">登录</button>
                </div>
            </div>
        </div>
    </div>

</div>

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

 

标签:count,事件处理,name,price,js,循环,model,id
From: https://www.cnblogs.com/YeeQX/p/17712488.html

相关文章

  • 如何在uniapp框架中集成H.265流媒体视频播放器EasyPlayer.js?
    H5无插件流媒体播放器EasyPlayer属于一款高效、精炼、稳定且免费的流媒体播放器,可支持多种流媒体协议播放,可支持H.264与H.265编码格式,性能稳定、播放流畅,能支持WebSocket-FLV、HTTP-FLV,HLS(m3u8)、WebRTC等格式的视频流,并且已实现网页端实时录像、在iOS上实现低延时直播等功能。......
  • Node.js URL 模块:解析和操作 URL
    任何基于Web的应用程序不可或缺的方面之一是其有效使用URL的能力。无论是解析传入的URL还是构建URL来发出请求,清楚地了解Node.js中的URL模块对于现代Web开发人员来说至关重要。在这篇博文中,我们将探索Node.js的URL模块,从基本的URL解析开始,逐步推进到更复杂的......
  • JavaScript 模块之间的差异:CJS、AMD、UMD 和 ESM
    JavaScript的世界是一个不断发展和发展的技术领域。多年来,开发人员尝试使用不同的模块系统来提供更有组织性和协作性的工作环境。在这篇博文中,我们将研究四种流行的JavaScript模块系统之间的差异:CommonJS(CJS)、异步模块定义(AMD)、通用模块定义(UMD)和ECMAScript模块(ES......
  • 通过Sysmon+Nxlogs收集Windows Server 2012服务器日志-并以Syslog形式发送Json格式数
    0x01环境介绍WindowsServer2012已经安装部署好了域控,目的除了收集Windows服务器本身的日志外还收集域控环境下的各种日志。0x02Nxlog配置和使用使用社区版本即可,下载地址:https://nxlog.co/downloads/nxlog-ce#nxlog-community-edition使用的版本是当前最新版本安装过程就省略,......
  • Nodejs 命令行调用 exec 与 spawn 差异
    Nodejs命令行调用exec与spawn差异比如在前端工程项目中Nodejs要调用命令行命令如:yarnelectron:buildexec调用yarn命令,为了能使命令行能实时打印输出正在编译的命令以异步形式调用exec使用stdout.on方式监听标准输出,并打印//打包electronconstbuildEl......
  • 通过jq读取和修改json数据
    我接到了这么一个任务,页面就是非常简单的页面,不需要搭建好的后台,也没什么数据库,在这个条件下,点击“预约”按钮,可以保存点击用户的数量。要求很明确,要保存,不能刷新或者第二天数量就变了,所以是一定要有文件保存这数据的。我的参考了网上大部分的内容,发现单纯通过JavaScript是不能......
  • 应用moment.js辅助计算工作时间
    <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><htmlxmlns="http://www.w3.org/1999/xhtml"><head><title></title>......
  • 处理Json的工具类
    出列Json的工具类publicclassResult<T>{privateStringcode;privateStringmsg;privateTdata;publicStringgetCode(){returncode;}publicvoidsetCode(Stringcode){this.code=code;}publicSt......
  • js学习
    变量   使用var定义的变量,在最外层定义时,可以是使用window获取  使用let和const时,就不行,let和cont是从当前作用域中获取     实现一个const   数据类型  null、undefined、NaN、0、空字符串 会在转换成布尔值的时候转化为falsefor循环......
  • js中查询一段文本并选中查到的所有匹配能实现吗?
    有一个csdn网友遇到了这样的问题,想在一段文本中查询,然后选中匹配了的所有内容。但是单纯从需求来讲,我认为是无法实现的。我给出的解释是:在文本框中同时选中不连续的片断是不可能的。但是如果是非文本框中的文本,可以通过改变字体颜色和背景的方法来模拟不连续片断的同时选中效果......