作业一:

用table表格标签渲染以上数据,表格第一列是学生总分排名,最后一列是学生总分

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <table border="1" style="margin: auto" rules="all">
        <tr>
            <th>排名</th>
            <th>姓名</th>
            <th>数学</th>
            <th>语文</th>
            <th>英语</th>
            <th>总分</th>
        </tr>
        <!--有几个人就循环渲染几行-->
        <tr v-for="(score,i) in scores">
            <td>{{i+1}}</td>
            <td v-for="v in score">{{v}}</td>
        </tr>
    </table>
</div>
</body>
<script src="js/vue.js"></script>
<script>
        let scores = [
        {name: 'Bob', math: 97, chinese: 89, english: 67},
        {name: 'Tom', math: 67, chinese: 52, english: 98},
        {name: 'Jerry', math: 72, chinese: 87, english: 89},
        {name: 'Ben', math: 92, chinese: 87, english: 59},
        {name: 'Chan', math: 47, chinese: 85, english: 92},
    ];
    //这里需要注意一点:for in遍历的是取值关键字而for of遍历的是值
    //添加总分
    for (score of scores) {
        score.total = score.math + score.chinese + score.english
    }
    //按照总分排序
    //这里使用的是冒泡算法
    for (let i = 0; i < scores.length - 1; i++) {
        for (let j = 0; j < scores.length - 1 - i; j++) {
            if (scores[j].total < scores[j + 1].total) {
                let temp = scores[j];
                scores[j] = scores[j + 1];
                scores[j + 1] = temp
            }
        }
    }
    console.log(scores);
    new Vue({
        el: '#app',
        data: {
            //属性名与值为变量名的变量名相同的时候,可以简写省略值
            scores,
        }
    })
</script>

</html>

作业二:

还是采用上方相同数据,采用相同的渲染规则,只渲染所有科目都及格的学生

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<div id="app">
    <table border="1" style="margin: auto" rules="all">
        <tr>
            <th>排名</th>
            <th>姓名</th>
            <th>数学</th>
            <th>语文</th>
            <th>英语</th>
            <th>总分</th>
        </tr>
        <!--有几个人就循环渲染几行-->
        <tr v-for="(score,i) in scores" v-if="score.math>=60&&score.chinese>=60&&score.english>=60">   <!--其实就是多加了一个if判断-->
            <td>{{i+1}}</td>
            <td v-for="v in score">{{v}}</td>
        </tr>
    </table>
</div>
</body>
<script src="js/vue.js"></script>
<script>
        let scores = [
        {name: 'Bob', math: 97, chinese: 89, english: 67},
        {name: 'Tom', math: 67, chinese: 52, english: 98},
        {name: 'Jerry', math: 72, chinese: 87, english: 89},
        {name: 'Ben', math: 92, chinese: 87, english: 59},
        {name: 'Chan', math: 47, chinese: 85, english: 92},
    ];
    //这里需要注意一点:for in遍历的是取值关键字而for of遍历的是值
    //添加总分
    for (score of scores) {
        score.total = score.math + score.chinese + score.english
    }
    //按照总分排序
    //这里使用的是冒泡算法
    for (let i = 0; i < scores.length - 1; i++) {
        for (let j = 0; j < scores.length - 1 - i; j++) {
            if (scores[j].total < scores[j + 1].total) {
                let temp = scores[j];
                scores[j] = scores[j + 1];
                scores[j + 1] = temp
            }
        }
    }
    console.log(scores);
    new Vue({
        el: '#app',
        data: {
            //属性名与值为变量名的变量名相同的时候,可以简写省略值
            scores,
        }
    })
</script>

</html>

作业三:采用相同的数据,添加筛选条件:
1、有三个按钮:数学,语文、外语,点击谁高亮,
2、两个输入框,【】~【】,前面小的分数,后面大分数,全部设置完毕,按照调钱筛选出对应的信息

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        .active{
            background-color: chocolate;
        }
    </style>
</head>
<body>
<div id="app">
    <div style="width: 400px;margin: 20px auto;">
        <button @click="subject='math'" :class="{active: subject==='math'}">数学</button>
        <button @click="subject='chinese'" :class="{active: subject==='chinese'}">语文</button>
        <button @click="subject='english'" :class="{active: subject==='english'}">英语</button>
        <input type="number" min="0" max="100" v-model="min">
        ~
        <input type="number" min="0" max="100" v-model="max">

    </div>

    <table border="1" style="margin: auto" rules="all">
        <tr>
            <th>排名</th>
            <th>姓名</th>
            <th>数学</th>
            <th>语文</th>
            <th>英语</th>
            <th>总分</th>
        </tr>
        <tbody v-if="subject==='math'">
        <tr v-for="(score,i) in scores" v-if="score.math>=min && score.math<=max ||(!min||!max)">
            <td>{{i+1}}</td>
            <td v-for="v in score">{{v}}</td>
        </tr>
        </tbody>
        <tbody v-else-if="subject==='chinese'">
            <tr v-for="(score,i) in scores" v-if="score.chinese>=min && score.chinese<=max ||(!min||!max)">
                <td>{{i+1}}</td>
                <td v-for="v in score">{{v}}</td>
            </tr>
        </tbody>

        <tbody v-else-if="subject==='english'">
            <tr v-for="(score,i) in scores" v-if="score.english>=min && score.english<=max ||(!min||!max)">
                <td>{{i+1}}</td>
                <td v-for="v in score">{{v}}</td>
            </tr>
        </tbody>
          <tbody v-else=>
            <tr v-for="(score,i) in scores">
                <td>{{i+1}}</td>
                <td v-for="v in score">{{v}}</td>
            </tr>
        </tbody>

    </table>
</div>
</body>
<script src="js/vue.js"></script>
<script>
        let scores = [
        {name: 'Bob', math: 97, chinese: 89, english: 67},
        {name: 'Tom', math: 67, chinese: 52, english: 98},
        {name: 'Jerry', math: 72, chinese: 87, english: 89},
        {name: 'Ben', math: 92, chinese: 87, english: 59},
        {name: 'Chan', math: 47, chinese: 85, english: 92},
    ];
    //这里需要注意一点:for in遍历的是取值关键字而for of遍历的是值
    //添加总分
    for (score of scores) {
        score.total = score.math + score.chinese + score.english
    }
    //按照总分排序
    //这里使用的是冒泡算法
    for (let i = 0; i < scores.length - 1; i++) {
        for (let j = 0; j < scores.length - 1 - i; j++) {
            if (scores[j].total < scores[j + 1].total) {
                let temp = scores[j];
                scores[j] = scores[j + 1];
                scores[j + 1] = temp
            }
        }
    }
    console.log(scores);
    new Vue({
        el: '#app',
        data: {
            //属性名与值为变量名的变量名相同的时候,可以简写省略值
            scores,
            min:'',
            max:'',
            subject:'',
        }
    })
</script>

</html>

Vue习题作业练习的更多相关文章

  1. ECNU 计算机系统 (CSAPP) 教材习题作业答案集

    这里是华东师范大学计算机系统的作业答案.由于几乎每一年布置的习题都几乎相同,网上的答案又比较分散,就把自己上学期提交的作业pdf放上来了,供参考. 长这样 Download Link:http://c ...

  2. python习题作业合集(持续更新……)

    作业: 1.简述位,字节关系 2.请写出“天才”分别用utf-8和gbk编码所占位数 3.如果有一个变量num = 14,请使用int的方法,得到改变量最少可以用多少个二进制位表示 4.写代码,有如下 ...

  3. 《C++primer》v5 第1章 开始 读书笔记 习题答案

    从今天开始在博客里写C++primer的文字.主要以后面的习题作业为主,会有必要的知识点补充. 本人也是菜鸟,可能有不对之处,还望指出. 前期内容可能会比较水. 1.1略 1.2略 1.3 cin和c ...

  4. C#【结对编程作业】小学数学习题助手

    一.软件成品展示 软件本体下载(包括程序及其更新日志,源码工程包,UML图,API接口文档,算法介绍文档,算式计算excel实例,浅查重程序) 链接: http://pan.baidu.com/s/1 ...

  5. 機器學習基石(Machine Learning Foundations) 机器学习基石 作业三 课后习题解答

    今天和大家分享coursera-NTU-機器學習基石(Machine Learning Foundations)-作业三的习题解答.笔者在做这些题目时遇到非常多困难,当我在网上寻找答案时却找不到,而林 ...

  6. 機器學習基石 机器学习基石(Machine Learning Foundations) 作业1 习题解答 (续)

    这里写的是  习题1 中的    18 , 19, 20 题的解答. Packet 方法,我这里是这样认为的,它所指的贪心算法是不管权重更新是否会对train data有改进都进行修正,因为这里面没有 ...

  7. Linux系统管理----目录与文件管理作业习题

    chapter02 - 03 作业 1.  分别用cat \tac\nl三个命令查看文件/etc/ssh/sshd_config文件中的内容,并用自己的话总计出这三个文档操作命令的不同之处? cat ...

  8. vue作业2

    """ 2.现有以下成绩单数据 scores = [ { name: 'Bob', math: 97, chinese: 89, english: 67 }, { nam ...

  9. vue作业1

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

随机推荐

  1. 阅读《C Primer Plus》收获

    190927 知识内容: 1.了解到C语言混乱代码大赛.评选谁的程序最有创意但又让人难以理解 2.了解最初的c语言的规则,所有编译器依照规则而设计. 3.编程前先要确定好目标对象,并且在纸上大概写出流 ...

  2. 「java.util.concurrent并发包」之 CyclicBarrier

    一 描述 CyclicBarrier初始化时规定一个数目,然后计算调用了CyclicBarrier.await()进入等待的线程数.当线程数达到了这个数目时,所有进入等待状态的线程被唤醒并继续.Cyc ...

  3. 拨开Python迷雾

    Python方向及能力要求   web就业方向:Python基础.Python高级.前端开发. web开发爬虫方向:Python基础.Python高级.前端开发.web开发. 爬虫开发数据挖掘/分析方 ...

  4. Java反射理解(五)-- 方法反射的基本操作

    Java反射理解(五)-- 方法反射的基本操作 方法的反射 1. 如何获取某个方法 方法的名称和方法的参数列表才能唯一决定某个方法 2. 方法反射的操作 method.invoke(对象,参数列表) ...

  5. SQL的GROUP BY 与 Order By

    1.概述 “Group By”从字面意义上理解就是根据“By”指定的规则对数据进行分组,所谓的分组就是将一个“数据集”划分成若干个“小区域”,然后针对若干个“小区域”进行数据处理. 2.原始表 3.简 ...

  6. 不同格式的YUV 和 RGB互转

    YUV色彩空间:        Y是亮度值,也就是说8位的灰度值即可组成一幅黑白图像,黑白电视机就是这样的.        UV是色彩值,是给Y上色用的.U是Cb也就是RGB中的蓝色分量,V是Cr也就 ...

  7. webpack的postcss的基本应用

    PostCss是什么? PostCSS在webpack中的基本应用 一.PostCss是什么? 如果有深入学习PostCss需求的话可以参考大漠的资料:https://www.w3cplus.com/ ...

  8. 用最少的JS代码写出贪吃蛇游戏---迷你版

    游戏进行页面展示 GAME  OVER 页面展示  代码如下: <!doctype html> <html>   <body>   <canvas id=&q ...

  9. 修改Vue中的 v-html 内的元素无效问题

    其原因就是在 style 样式中没有去处scoped 因为 v-html 会把内容当成子组件,而scoped 会在本身的组件中起作用

  10. Dockerfile初体验

    Dockerfile构建nginx 创建一个文件夹 mkdir -p /nginx 进入创建的目录 cd /nginx 创建并编辑 添加下面两行 vim Dockerfile 行1,去本地找基础的镜像 ...