当前位置: 首页 > news >正文

Vue的使用2

一、Js和Vue的使用比较

       (一) 绑定元素

Js使用id或者标签名,来通过document.querySelector(“元素名”)来绑定。

1.1 静态绑定:vue使用  : 元素,来绑定,eg:   :src

1.2 动态绑定:vue使用  data: {   info:" "  } 通过v-model来动态绑定标签元素,动态绑定时只能用在表单中

  <!-- v-model=“变量名” 控件值和变量互相影响-->
    <input type="text" v-model="info">
    <h1>{{info}}</h1>
    <img :src="user.url" width="100px " alt="">
    <hr>
    <input type="text" placeholder="输入用户名" v-model="user.username">
    <input type="text" placeholder="输入密码" v-model="user.password">

        (二)事件绑定

Js使用 οnclick="f()" 来绑定事件。

Vue通过@click=“f()”或者 v-on:click="f1()">来绑定事件。

        <!--vue中的onclick()-->
        <input type="button" value="按钮1" @click="f()">
        <input type="button" value="按钮2" v-on:click="f1()">

        (三)方法和值的创建

Js使用  function f() { }在标签里直接创建方法和值。

Vue在Vue方法中创建方法,与data在同一级。

在创建值时与 let v 在同一级别: let num = parseInt(Math.random() * 100) + 1;

//创建值
 let num = parseInt(Math.random() * 100) + 1;

 let v = new Vue({
        el: "body>div",
        data: {
            info:""
        },
        methods: {
            f(){
              alert("弹出了个内容2")
            }
        }
  })

        (四)创键对象

Js在标签下直接创建值 let i={ } //空对象

   //1创建空对象
    let p1 = {}
    //创建对象并赋值
    p1.name = "张三";
    p1.age = 20;
    //创建方法
    p1.run = function () {
        console.log(this.name + ":" + p1.age);
    }
    p1.run();

    //2实例化自带属性和方法的对象
    let p2 = {
        name: "李四",
        age: 10,
        run: function () {
            console.log(this.name + ":" + this.age);
        }
    }
    p2.run();

    }

创建数组

   //3通过数组组装对象的方式分装列表数据
    let arr = [
        {title: "手机", pice: 21, saleCount: 2100},
        {title: "水果", pice: 155, saleCount: 2},
        {title: "鞋子", pice: 13, saleCount: 2020},];
    //遍历数组(forof==foreach)
    for (let product of arr) {//for(类型 变量名  of  遍历目标 )
        //获取对象
        let tr = document.createElement("tr");
        let titleTd = document.createElement("td");
        let priceTd = document.createElement("td");
        let saleCountTd = document.createElement("td");
        //将遍历数组的值传入列表
        titleTd.innerText = product.title;
        priceTd.innerText = product.pice;
        saleCountTd.innerText = product.saleCount;
        //td添加tr
        tr.append(titleTd, priceTd, saleCountTd);
        //获取table表并添加
        let table = document.querySelector("table");
        table.append(tr);

Vue创建对象和数组

  data: {
            //创建空对象
            user{},

            emp: {
                name: "", salary: "", job: ""
            }

            arr: [
                {name: "张三", salzry: 3000, job: "销售"},
                {name: "李四", salzry: 3000, job: "人事"},
                {name: "王五", salzry: 3000, job: "销售"}],

           
       },

        (五)vue循环遍历

        <!--v-for循环遍历  ----->名字 in 循环数组 -->
        <li v-for="name in arr" v-text="name"></li>

        <tr v-for="(p,i) in persons">
            <td>{{i + 1}}</td>
            <td>{{p.name}}</td>
            <td>{{p.age}}</td>
            <td>{{p.type}}</td>
        </tr>

        (六)

拼接字符串

            input type="button" value="加" @click="f('+')">
            <input type="button" value="减" @click="f('-')">
            <input type="button" value="乘" @click="f('*')">
            <input type="button" value="除" @click="f('/')">    
       f(x) {
               //eval()此方法可以将此字符串以js代码的形式运行
               v.text03=eval(v.text01+x+v.text02);
            }

随机数

  let num = parseInt(Math.random() * 100) + 1;

从数组删除

    del(i) {
            //从数组中删除元素 splice(起始下标,删除长度)
                v.arr.splice(i,1);
            }

添加到数组

 f() {
                //push()方法添加元素到数组中
                v.arr.push({name: v.emp.name, salzry: v.emp.salary, job: v.emp.job})
            }

相关文章:

  • app毕业设计作品安卓毕业设计成品基于Uniapp+SSM实现的智能课堂管理
  • 神经网络试题答案,神经网络考试例题
  • 【论文分享】LibAFL: A Framework to Build Modular and Reusable Fuzzers
  • ESMM论文精读
  • 如何从容的打包上传图片对象--File,Blob,BASE64详解及转换方法
  • 广州市车联网先导区车联网先导区路侧感知技术规范
  • 【实用工具】frp实现内网穿透
  • PDF的图片怎么提取?这两种方法值得收藏
  • vue的函数式组件
  • 算法小讲堂之二叉排序树|二叉搜索树|BST
  • 软件性能测试报告怎么编写?哪些机构可以出具性能测试报告
  • 通过java爬取动态网页
  • MCU固件加密
  • 英特尔会是下一个诺基亚吗?
  • [广义Floyd] UVA10048 噪音恐惧症 Audiophobia
  • “大数据应用场景”之隔壁老王(连载四)
  • Apache的80端口被占用以及访问时报错403
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • JavaScript 基础知识 - 入门篇(一)
  • Logstash 参考指南(目录)
  • mysql_config not found
  • Perseus-BERT——业内性能极致优化的BERT训练方案
  • python3 使用 asyncio 代替线程
  • React+TypeScript入门
  • tensorflow学习笔记3——MNIST应用篇
  • vue从创建到完整的饿了么(11)组件的使用(svg图标及watch的简单使用)
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • 闭包--闭包之tab栏切换(四)
  • 服务器从安装到部署全过程(二)
  • 理解 C# 泛型接口中的协变与逆变(抗变)
  • 目录与文件属性:编写ls
  • 前端面试之CSS3新特性
  • 前端学习笔记之原型——一张图说明`prototype`和`__proto__`的区别
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 想写好前端,先练好内功
  • 再次简单明了总结flex布局,一看就懂...
  • 【干货分享】dos命令大全
  • ​io --- 处理流的核心工具​
  • #Linux(make工具和makefile文件以及makefile语法)
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (4)STL算法之比较
  • (C语言)strcpy与strcpy详解,与模拟实现
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (亲测)设​置​m​y​e​c​l​i​p​s​e​打​开​默​认​工​作​空​间...
  • (转)原始图像数据和PDF中的图像数据
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .NET Core 通过 Ef Core 操作 Mysql
  • .NET 事件模型教程(二)
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .NET 中创建支持集合初始化器的类型
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • .py文件应该怎样打开?
  • @Resource和@Autowired的区别