美文网首页程序员
Vue 实例学习:订单列表实例

Vue 实例学习:订单列表实例

作者: InFatuated | 来源:发表于2020-11-27 10:47 被阅读0次

订单列表

创建一个订单列表,并计算总价:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Vue.js 订单表单</title>
    <script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script>
    <style>
    /*  隐藏未编译的变量 */

    [v-cloak] {
      display: none;
    }

    *{
        margin:0;
        padding:0;
    }

    body{
        font:15px/1.3 'Open Sans', sans-serif;
        color: #5e5b64;
        text-align:center;
    }

    a, a:visited {
        outline:none;
        color:#389dc1;
    }

    a:hover{
        text-decoration:none;
    }

    section, footer, header, aside, nav{
        display: block;
    }

    /*-------------------------
        订单表单
    --------------------------*/

    form{
        background-color: #61a1bc;
        border-radius: 2px;
        box-shadow: 0 1px 1px #ccc;
        width: 400px;
        padding: 35px 60px;
        margin: 50px auto;
    }

    form h1{
        color:#fff;
        font-size:64px;
        font-family:'Cookie', cursive;
        font-weight: normal;
        line-height:1;
        text-shadow:0 3px 0 rgba(0,0,0,0.1);
    }

    form ul{
        list-style:none;
        color:#fff;
        font-size:20px;
        font-weight:bold;
        text-align: left;
        margin:20px 0 15px;
    }

    form ul li{
        padding:20px 30px;
        background-color:#e35885;
        margin-bottom:8px;
        box-shadow:0 1px 1px rgba(0,0,0,0.1);
        cursor:pointer;
    }

    form ul li span{
        float:right;
    }

    form ul li.active{
        background-color:#8ec16d;
    }

    div.total{
        border-top:1px solid rgba(255,255,255,0.5);
        padding:15px 30px;
        font-size:20px;
        font-weight:bold;
        text-align: left;
        color:#fff;
    }

    div.total span{
        float:right;
    }
    </style>

</head>
<body>

<!-- v-cloak 隐藏未编译的变量,直到 Vue 实例准备就绪。 -->

<form id="main" v-cloak>

    <h1>Services</h1>

    <ul>

        <!-- 循环输出 services 数组, 设置选项点击后的样式 -->

        <li v-for="service in services" v-on:click="toggleActive(service)" v-bind:class="{ 'active': service.active}">

            <!-- 显示订单中的服务名,价格
                 Vue.js 定义了货币过滤器,用于格式化价格 -->

            {{service.name}} <span>{{service.price | currency}}</span>

        </li>
    </ul>

    <div class="total">

        <!-- 计算所有服务的价格,并格式化货币 -->

        Total: <span>{{total() | currency}}</span>
        
    </div>

</form>
<script>

// 自定义过滤器 "currency". 
Vue.filter('currency', function (value) {
    return '$' + value.toFixed(2);
});

var demo = new Vue({
    el: '#main',
    data: {
        // 定义模型属性 the model properties. The view will loop
        // 视图将循环输出数组的数据
        services: [
            {
                name: 'Web Development',
                price: 300,
                active:true
            },{
                name: 'Design',
                price: 400,
                active:false
            },{
                name: 'Integration',
                price: 250,
                active:false
            },{
                name: 'Training',
                price: 220,
                active:false
            }
        ]
    },
    methods: {
        toggleActive: function(s){
            s.active = !s.active;
        },
        total: function(){

            var total = 0;

            this.services.forEach(function(s){
                if (s.active){
                    total+= s.price;
                }
            });

           return total;
        }
    }
});
    
</script>
</body>
</html>

相关文章

  • Vue 实例学习:订单列表实例

    订单列表 创建一个订单列表,并计算总价:

  • Vue

    一. Vue 实例 以后你可以在 API 参考中查阅到完整的实例属性和方法的列表。 实例生命周期钩子 比如 cre...

  • 第3章 Vue 基础精讲

    3-1 Vue实例 vue实例是根实例,组件也是vue实例,所以说页面是由很多vue实例组成的data(): 以d...

  • Vue任务列表实例

    一点点前言 这是一个经典的实现数据双向绑定的例子,其中着重围绕“一切以数据驱动”这个思想理念来讲解,知识点挺多。概...

  • Vue 基础

    Vue 实例 1. Vue实例 2. 实例属性 3. 实例方法/数据 4. 实例方法/事件 5. 实例方法/生命周...

  • vue基础

    一,vue基础 数据绑定列表循环 事件处理 在script标签中 //实例化vue var app=new Vue...

  • vue实例

    Vue实例化 1.创建一个Vue实例 通过Vue构造函数new 一个新的vue实例, 当你创建一个vue实例,你可...

  • Vue学习之数据绑定

    vue学习之数据绑定 一、vue实例 vue根实例的创建可以通过构造函数Vue, 在这里,必不可少的选项就是el,...

  • vue基础学习笔记

    1.vue实例、挂载点、模板创建vue实例:new Vue({el:"#root"})el含义:这个实例接管id=...

  • vue基础知识

    new Vue() 创建 Vue 实例,其中 Vue.components() 也可以创建 Vue 实例。 Vue...

网友评论

    本文标题:Vue 实例学习:订单列表实例

    本文链接:https://www.haomeiwen.com/subject/mmgirktx.html