通过Mock随机生成得数据制作页面元素、ArtTemplate的使用

Mock

Mock支持随机生成中英文的文本、数字、布尔值、日期、图片、链接等各种数据,前端自己生成数据进行场景的模拟,并且使用十分方便。
首先需要导入Mock的js文件,可以是本地文件,也可以去BootCDN上复制在线链接。接下来是Mock数据的语法:

let obj=Mock.mock({
    'userlist|10':[//生成10个(可以在|后面写数据的数量)
        {   //冒号前的名字是变量名,后面是取值(具体数据格式名字见BootCDN的使用文档)
            'uid|+1':1,   //+1表示制造的数据+1递增显示
            'username':"@cname", //加c便是是汉字
            'city':'@city(true)',//city是城市,(true)表示数据加省份
            'email':"@email",
            'tel':"@integer(1000000000,19999999999)",//integer表示整数(最小数据,最大数据)
            'ttt|1111-2222':11111,//造数据的第二种写法,取值范围写在|后,并在:后写出示例数据
             'cardid':"@id",
             'avatar':'@image'//image表示生成图片链接    
         }
     ]
 })
console.log(JSON.stringify(obj));//将数据转换为JSON格式方便使用,并将所得到的的数据写入table.JSON文件中。

使用Mock制作表格

制作表头,数据通过Mock随机生成并添加入表格中

 <style>
        *{
            margin: 0;
            padding: 0;
        }
        table{
            width: 100%;
            text-align: center;
            border-collapse: collapse;
        }
        td,th{
            padding: 10px;
            border: 1px solid #ccc;
        }
    </style>
 <div class="contain">
        <button>获取</button>
    </div>
    <table>
        <tr>
            <td>编号</td>
            <td>姓名</td>
            <td>地址</td>
            <td>邮箱</td>
            <td>电话号码</td>
            <td>身份证号</td>
            <td>头像</td>
        </tr>
    </table>

接下来是Js部分

 <script>
 $(function(){
        $('button').click(function(){
            $.get("./table.json", function(data){//通过ajax方法获取诗句
                console.log(data.userlist);
                    data.userlist.forEach(item=>{
                        let tr=$('<tr/>')
                        tr.append(`//通过使用模板字符串的方式添加数据
                        <td>${item.uid}</td>
                        <td>${item.username}</td>
                        <td>${item.city}</td>
                        <td>${item.email}</td>
                        <td>${item.tel}</td>
                        <td>${item.cardid}</td>
                        <td>${item.avatar}</td>
                        `)
                        $('table').append(tr)
                    })
                }
            )
        })
})
</script>

在JS中写HTML页面元素没有提示,有时候拼写错误很那发现,这时候使用Arttemplate,就很有必要而且很方便。例:使用Arttemplate.js将数据向制作出来的页面元素传输。
arttemplate.js文件也需要本地引入或者使用在线链接

 <div class="contain">
        <ul class="menu1">
            <script id="menu" type="text/html">
            {{each $data item i}}
            <li>{{item.username}}</li>
            {{/each}}
            //以上为模板,当重复一样的格式的时候就可以使用each,当为单一格式的时候each就可以删除。
            </script>
        </ul>
    </div>
<script>
        $(function(){
            $.get('./table.json',function(data){
                console.log(template('menu',data.userlist));
                console.log($('.menu1'));
                $('.menu1').html(template('menu',data.userlist))
                //menu为所要添加数据的容器。逗号后面为数据   
            })
        })
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mock.js可以动态生各种类型的数据,包括数字、字符串、布尔值、数组、对象等等。以下是使用Mock.jsmock动态生数据的步骤: 1. 安装Mock.js 可以通过npm安装Mock.js,命令如下: ``` npm install mockjs ``` 也可以在HTML文件中直接引用Mock.js的CDN链接: ``` <script src="https://cdn.bootcdn.net/ajax/libs/Mock.js/1.0.1-beta3/mock-min.js"></script> ``` 2. 定义Mock数据模板 Mock.js的核心是数据模板,它是一个JavaScript对象,用来描述Mock数据的结构和类型。例如,以下是一个简单的Mock数据模板: ``` var data = { name: '@cname', // 随机生成中文名字 age: '@integer(18, 60)', // 随机生成18到60之间的整数 gender: '@boolean', // 随机生成布尔值 hobbies: ['@word', '@word', '@word'] // 随机生成三个英文单词组的数组 }; ``` 3. 使用Mock数据模板生Mock数据 使用Mock.js的`Mock.mock()`方法可以根据数据模板生Mock数据,例如: ``` var mockData = Mock.mock(data); ``` `mockData`就是根据`data`模板生Mock数据。 4. 使用Mock数据Mock数据后,可以将其用于测试、演示或其他目的。例如,将Mock数据渲染到页面中: ``` document.getElementById('name').innerHTML = mockData.name; document.getElementById('age').innerHTML = mockData.age; document.getElementById('gender').innerHTML = mockData.gender ? '男' : '女'; document.getElementById('hobbies').innerHTML = mockData.hobbies.join(', '); ``` 以上就是使用Mock.jsmock动态生数据的基本步骤。Mock.js还支持更多高级功能,例如数据占位符、数据规则、拦截Ajax请求等等,可以根据需要进行学习和使用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值