欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

vue 02品牌管理案例涉及知识点

程序员文章站 2022-05-15 13:39:56
...

1.数组添加
- posh(item1,item2,) 在最后添加一项或多项,并返回数组的长度
- unshift(item1,item2,) 在最前面添加一项或多项,并返回数组的长度
2.数组删除
- pop()删除最后一项并返回删除元素的值
- shift()删除最前一项并返回删除元素的值
3.修改数组
- splice(start,deleteCount,item1,item2,)
4.数组翻转
- reverse()
5.对数组排序
- sort(function(a,b){return a-b}); a-b升b-a降
6.数组截取
- slice(start,end);返回新数组
7.数组遍历
- for循环
- forEach(function(item,index,arr){},thisObject)在数组每个元素项上执行函数
- map(function(item,index,arr){},thisObject)在数组每个元素项上执行函数并将所有结果放入数组中返回
- filter(function(item,index,arr){},thisObject) 函数在这里担任的是过滤器的角色,当元素符合条件,过滤器就返回true,而filter则会返回所有符合过滤条件的元素
- every(function(item,index,arr){}, thisObject]) every其实类似filter,只不过它的功能是判断是不是数组中的所有元素都符合条件,并且返回的是布尔值)
- some(function(item,index,arr){}, thisObject]) 类似every,不过前者要求都符合筛选条件才返回true,后者只要有符合条件的就返回true)。
- indexOf(searchElement,fromIndex)返回第一个匹配的索引从前往后
- lastIndexOf(searchElement,fromIndex)返回第一个匹配的索引从后往前
8.字符串查询
- indexOf(searchElement,fromIndex)从前往后找到返回对应坐标,找不到返回-1
- lastIndexOf(searchElement,fromIndex)从后往前找到返回对应坐标,找不到返回-1


```javascript
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>品牌管理案例</title>
    <script src="../bin/vue.js"></script>
    <link rel="stylesheet" href="../bin/bootstrap/css/bootstrap.css">
</head>
<body>
    <div id="app">
        
        
        <div class="panel panel-primary">
              <div class="panel-heading">
                    <h3 class="panel-title">添加品牌</h3>
              </div>
              <div class="panel-body form-inline">
                <label>
                    Id:
                    <input type="text" class="form-control" v-model="id">
                </label>

                <label>
                    Name:
                    <input type="text" class="form-control" v-model="name">
                </label>

                <input type="button" value="添加" class="btn btn-primary" @click="add">
              </div>      

              <label>
                搜索名称关键字:
                <input type="text" class="form-control" v-model="keywords">
            </label>

        </div>
        

        <table class="table table-bordered table-hover table-striped">
            <thead>
                <tr>
                    <th>Id</th>
                    <th>name</th>
                    <th>Ctime</th>
                    <th>Operation</th>
                </tr>
            </thead>
            <tbody>
                <tr v-for="(item,key) in search(keywords)" :key="item.id">
                    <td>{{item.id}}</td>
                    <td>{{item.name}}</td>
                    <td>{{item.ctime | dateFormat('yyyy-mm-dd')}}</td>
                    <td><a @click.prevent="del(key)">删除</a></td>
                </tr>
            </tbody>
        </table>
        
    </div>

    <script>
        Vue.filter('dateFormat',function(dateStr,pattern='yyyy-mm-dd'){
            var dt = new Date(dateStr);
            var y = dt.getFullYear();
            var m = dt.getMonth()+1;
            var d = dt.getDate();
            if(pattern && pattern.toLowerCase() === 'yyyy-mm-dd'){
                return `${y}-${m}-${d}`;
            }else{
                var hh = dt.getHours();
                var mm = dt.getMinutes();
                var ss = dt.getSeconds();
                return `${y}-${m}-${d} ${hh}:${mm}:${ss}`;
            }
            
            
        })
        var vm = new Vue({
            el:'#app',
            data:{
                id:'',
                name:'',
                keywords:'',
                list:[
                    {id:1,name:'奔驰',ctime:new Date()},
                    {id:2,name:'宝马',ctime:new Date()},
                    {id:3,name:'福特',ctime:new Date()},
                    {id:4,name:'林肯',ctime:new Date()},
                ]
            },
            methods: {
                add(){
                    var car = {id: this.id,name: this.name, ctime: new Date()};
                    this.id = null;
                    this.name = null;
                    this.list.push(car);
                },
                del(key){
                    this.list.splice(key,1);
                },
                search(keywords){
                    var newList = this.list.filter(function(item){
                        return item.name.indexOf(keywords)!==-1;
                    });
                    return newList;
                }
            },
        });
    </script>
</body>
</html>