mui 结合 vue.js 处理数据(下拉刷新,上拉加载)

<!doctype html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
        <script src="js/mui.min.js"></script>
    <link href="css/mui.min.css" rel="stylesheet"/>
    <script src="https://cdn.jsdelivr.net/npm/vue"></script>
    </head>
    <style type="text/css">
        html, body{
            padding: 0;
            margin: 0;
            /*background: #ff0000;*/
        }
    </style>
    <body>
        <div class="main_content">
        <!--下拉刷新容器-->
            <div id="refreshContainer" class="mui-content mui-scroll-wrapper">
              <div class="mui-scroll">
                <!--数据列表-->
                <ul class="mui-table-view mui-table-view-chevron" id="newslist">
                  <li class="mui-table-view-cell mui-media" v-for="(item, index) in newsList">
                      <div class="newshead">
                          <span style="font-size: .8rem;color: #999;">{{getDateDiff(item.pubTime)}}&nbsp;&nbsp;</span> 
                          <span style="font-size: .8rem;color: #000;">{{item.identityName}}</span> 
                          <span class="readstar">
                              <img src="https://static.walian.cn/wap/1.1.2018061915/img/common_shoucang_clicked@3x.34cae9a.png" v-if="n<=item.star" v-for="n in 5"/>
                              <img src="https://static.walian.cn/wap/1.1.2018061915/img/common_shoucang_unclicked@3x.1f1950c.png" v-else/>
                          </span>
                      </div>
                      <div class="newstitle">
                          {{item.title}}
                      </div>
                      <div class="newscontent">
                          {{item.content}}
                      </div>
                      <div class="newsfoot">
                          利好 {{item.voteGood}}&nbsp;&nbsp;&nbsp;&nbsp;利空{{item.voteNegative}}
                      </div>
                  </li>
                </ul>
              </div>
            </div>
        </div>
    </body>
    <script type="text/javascript">
        var vm = new Vue({
          el: '#newslist',
          data: {
            message: 'Hello Vue!',
            newsList: [],
            page: 1
          },
          methods: {
              getDateDiff: function(dateTimeStamp) {
                    var minute = 1000 * 60;
                    var hour = minute * 60;
                    var day = hour * 24;
                    var halfamonth = day * 15;
                    var month = day * 30;
                    var now = new Date().getTime();
                    var diffValue = now - dateTimeStamp;
                    if(diffValue < 0){return;}
                    var monthC =diffValue/month;
                    var weekC =diffValue/(7*day);
                    var dayC =diffValue/day;
                    var hourC =diffValue/hour;
                    var minC =diffValue/minute;

                    if ((monthC>=1) || (weekC>=1) || (dayC>=3)) {
                        result = timestampToTime(dateTimeStamp);
                    }
                    else if(dayC>=1){
                        result=""+ parseInt(dayC) + "天前";
                    }
                    else if(hourC>=1){
                        result=""+ parseInt(hourC) + "小时前";
                    }
                    else if(minC>=1){
                        result=""+ parseInt(minC) + "分钟前";
                    }else
                    result = "1分钟内";
                    return result;
                }
          }
        })
        mui.init(
            {
                pullRefresh : {
                    container:"#refreshContainer",
                    down: {
                contentdown : "下拉刷新",//可选,在下拉可刷新状态时,下拉刷新控件上显示的标题内容
                    contentover : "释放立即刷新",//可选,在释放可刷新状态时,下拉刷新控件上显示的标题内容
                    contentrefresh : "正在刷新...",//可选,正在刷新状态时,下拉刷新控件上显示的标题内容
              style:'circle',//必选,下拉刷新样式,目前支持原生5+ ‘circle’ 样式
              color:'#2BD009', //可选,默认“#2BD009” 下拉刷新控件颜色
              height:'50px',//可选,默认50px.下拉刷新控件的高度,
              range:'100px', //可选 默认100px,控件可下拉拖拽的范围
              offset:'0px', //可选 默认0px,下拉刷新控件的起始位置
              auto: true,//可选,默认false.首次加载自动上拉刷新一次
                        auto: true,
                        callback: pulltofresh
                    },
                    up: {
                        contentdown : "加载中。。。",
                        callback: pushtoloadmore
                    }
                }
            }
        )
        function pulltofresh() {
            vm.page = 1;
            mui.ajax('https://xxx.xxxxxx.xxx/xxxx?rows=10&page=' + vm.page, {
                type: 'get',
                success: function(res){
                    vm.newsList = res.data.list;
                },
                error: function(e) {
                    
                }
            })
            mui('#refreshContainer').pullRefresh().endPulldownToRefresh();
        }
        function pushtoloadmore() {
            vm.page++;
            mui.ajax('https://xxx.xxxxxx.xxx/xxxx?rows=10&page=' + vm.page, {
                type: 'get',
                success: function(res){
                    vm.newsList = vm.newsList.concat(res.data.list);
                },
                error: function(e) {
                    
                }
            })
            mui('#refreshContainer').pullRefresh().endPullupToRefresh();
        }
    </script>
    <style type="text/css">
        .main_content {
            height: 100vh;
            width: 100%;
            position: relative;
        }
        .mui-table-view-cell{
            padding-right: 10px !important;
        }
        .mui-table-view-chevron .mui-table-view-cell>a:not(.mui-btn) {
            margin-right: 0;
        }
        .readstar  {
            float: right;
        }
        .readstar img {
            width: .55rem;
            margin-left: .2rem;
        }
        .newstitle {
            font: .8rem;
            color: #000000;
            font-weight: bold;
        }
        .newscontent {
            font: .8;
            line-height: 1.66;
            color: #696969;
            font-weight: 400;
        }
    </style>
</html>

效果图

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: html mui.min.js 扫描是指在使用 HTML 页面时,通过引入 mui.min.js 文件来进行扫描相关的操作。 mui.min.js 是一款基于 HTML5 和 CSS3 的移动端前端框框架,它提供了许多可以用于开发移动端应用的功能和组件,其中包括扫描的功能。 通过在 HTML 页面中引入 mui.min.js 文件,我们可以使用该框架提供的扫描功能来实现在移动设备上的二维码和条形码的扫描。 使用 mui.min.js 进行扫描可以分为以下几个步骤: 1. 引入 mui.min.js 文件:在 HTML 页面的合适位置,使用 <script> 标签引入 mui.min.js 文件。 2. 创建扫描容器:在 HTML 中,通过创建一个具有特定样式的元素,作为扫描的容器。可以使用 <div> 标签,并设置一个特定的 ID,便于之后的 JavaScript 代码中定位。 3. 初始化扫描:在 JavaScript 代码中,使用 mui.init() 初始化 mui 框架,使其可以使用扫描功能。然后使用 mui.plusReady() 来确保设备就绪。 4. 打开扫描界面:通过调用 mui.openScanner() 函数,打开扫描界面。可以传入一些配置参数,如扫描成功后的回调函数、扫描框的样式、扫描线的样式等。 5. 处理扫描结果:在扫描成功后,会调用之前传入的回调函数,可以在回调函数中对扫描结果进行处理,如解析二维码内容、展示结果等。 以上就是使用 mui.min.js 进行扫描的基本步骤和流程。通过引入 mui.min.js 文件,并按照上述步骤进行操作,我们可以实现在 HTML 页面中对二维码和条形码的扫描功能。 ### 回答2: HTML MUI.min.js是一种用于扫描的工具。MUI是Mobile UI的缩写,是一套用于移动端开发的界面框架,而MUI.min.js是MUI框架的核心JS文件之一。 在使用MUI.min.js进行扫描时,我们可以利用其提供的方法和功能实现各种扫描操作。这些操作可以包括二维码扫描、条形码扫描、文档扫描等等。MUI.min.js提供了丰富的API供开发者使用,使得扫描过程变得简单易用。 对于二维码扫描,我们可以使用MUI.min.js提供的相机API来打开设备的摄像头进行扫描。扫描结果会以回调函数的形式返回,开发者可以根据需求来处理结果。 条形码扫描类似,我们同样使用MUI.min.js提供的相机API来打开摄像头进行扫描。扫描结果以回调函数的形式返回,可以根据结果制定相应的业务逻辑。 除了二维码和条形码扫描,MUI.min.js还可以用于实现文档扫描。我们可以使用MUI.min.js提供的图像处理API,通过调用设备的摄像头来捕获照片,然后进行图像处理,识别文字或者保存成文件等。 总体而言,HTML MUI.min.js扫描提供了一种简单方便的途径来实现扫描功能。无论是二维码、条形码还是文档扫描,我们都可以通过使用MUI.min.js提供的API来轻松完成,使得移动端开发中的扫描过程更高效和便捷。 ### 回答3: HTML中使用mui.min.js进行扫描的步骤如下: 1. 首先,在HTML文件中引入mui.min.js文件。可以通过以下代码将其导入到HTML的`<head>`标签中: ```html <script src="mui.min.js"></script> ``` 2. 在需要进行扫描的元素上添相应的扫描功能。例如,如果想要给一个按钮添扫描功能,可以在HTML中找到该按钮的元素,并添相应的扫描属性。例如: ```html <button id="scanBtn" data-mui-input-clear="true" data-mui-input-placeholder="请扫描二维码">扫描</button> ``` 这里使用了`data-mui-input-clear`属性来清除输入框的内容,`data-mui-input-placeholder`属性用来设置输入框的提示信息。 3. 接下来,在JavaScript文件中初始化扫描功能。可以在页面完成后执行以下代码: ```javascript document.addEventListener('DOMContentLoaded', function() { document.getElementById('scanBtn').addEventListener('tap', function() { mui.scanQRCode(function(result) { // 扫描成功后的回调函数 alert('扫描结果:' + result); }, function(error) { // 扫描失败后的回调函数 alert('扫描失败:' + error); }); }); }); ``` 这里使用了`addEventListener`函数来添点击事件监听,当按钮被点击时,调用`mui.scanQRCode`函数进行扫描操作。`scanQRCode`函数接受两个回调函数作为参数,第一个回调函数处理扫描成功后的操作,第二个回调函数处理扫描失败后的操作。 以上就是使用mui.min.js进行扫描的简要步骤。具体的扫描功能和UI效果可以根据具体需求进行自定义和修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值