ionic 解析json串 带(路由 侧拉 效果 上拉刷新 下拉加载)

2023-11-19

先上图看效果:




上代码  ,一般都是 按顺序上代码的 :

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no">
    <link rel="stylesheet" href="lib/css/ionic.css">
    <script src="lib/js/ionic.bundle.min.js"></script>
    <!--把自己写的css样式引入进来-->
    <link rel="stylesheet" href="css/index.css">

    <script>
        var app=angular.module("myapp",["ionic"]);
        //路由
        app.config(function ($stateProvider, $urlRouterProvider) {
            $stateProvider.state("home", {
                url: "/home",
                views: {
                    "view-home": {
                        //templateUrl: 是指定模板
                        templateUrl: "index/home.html",
                        //controller 直接给它指定控制器的名字
                        controller: "HomeCtrl"
                    }
                }
            }).state("cart", {
                url: "/cart",
                views: {
                    "view-cart": {
                        templateUrl: "index/cart.html",
                    }
                }
            }).state("mine", {
                url: "/mine",
                views: {
                    "view-mine": {
                        templateUrl: "index/mine.html",
                    }
                }
            });

            //如果都找不到就会执行此代码    默认地址
            $urlRouterProvider.otherwise("home");
        });

        //侧拉
        app.controller("HomeCtrl",function ($scope, $ionicSideMenuDelegate,$http) {
            //给头部侧拉设置的点击事件toggleLeft()  可是实现类似开启和关闭效果
            $scope.toggleLeft = function() {
                $ionicSideMenuDelegate.toggleLeft();
            }
          //定义一个空数组
            $scope.book_list = [];

            var urls = [
                "", // 0
                "book_list_1.json", // pageNo: 1
                "book_list_2.json", // pageNo: 2
                "book_list_3.json"  // pageNo: 3
            ];

            var pageNo = 1;

            var loadData = function () {
                var httpReq = $http.get(urls[pageNo]);
                //请求成功执行
                httpReq.success(function (data) {
                    $scope.book_list = $scope.book_list.concat(data);
                    //请求失败执行
                }).error(function (data, status) {
                    console.log(status);
                    //成功与否都执行
                }).finally(function () {
                    // 停止广播ion-refresher
                    $scope.$broadcast('scroll.infiniteScrollComplete');
                });
            };

            loadData();
           //下拉刷新
            $scope.doRefresh = function () {
                $scope.book_list = [];

                pageNo = 1;
                loadData();
            };
           //上拉加载
            $scope.loadMore = function () {
                if (pageNo++ > 3) {
                    pageNo = 3;
                    return;
                }

                loadData();
            };
        })




    </script>


</head>
<body ng-app="myapp">
<!--因为侧拉和选项卡起冲突所以把中间内容和  侧拉内容需要分开写 所以就需要把侧拉方法定义在这里-->
<ion-side-menus>
    <!-- 中间内容 -->
    <ion-side-menu-content  >
        <!--写路由页面的话必须写这行代码    ,   就是路由页面的代码会自动找这行代码-->
        <ion-nav-view name="view-home"></ion-nav-view>

    </ion-side-menu-content>

    <!-- 左侧菜单 -->
    <ion-side-menu side="left">
        <ion-header-bar align-title="center"  >

            <h1 class="title">侧拉!</h1>

        </ion-header-bar>

        <ion-content>
            <ion-list>
                <ion-item >
                    <p>今天很开心</p>
                </ion-item>
            </ion-list>
        </ion-content>

    </ion-side-menu>

</ion-side-menus>

<!--=============================================================================================-->
<ion-tabs class="tabs-positive tabs-icon-top">
    <!--  ui-sref: 以后路由就用这个代码来写  -->
    <ion-tab title="首页" icon-on="ion-ios-filing" icon-off="ion-ios-filing-outline"ui-sref="home">
        <!--写路由页面的话必须写这行代码    ,   就是路由页面的代码会自动找这行代码-->


        <!-- 标签 1 内容 -->
    </ion-tab>

    <ion-tab title="关于" icon-on="ion-happy" icon-off="ion-happy-outline" ui-sref="cart">
        <ion-nav-view name="view-cart"></ion-nav-view>

        <!-- 标签 2 内容 -->
    </ion-tab>

    <ion-tab title="我的" icon-on="ion-ios-gear" icon-off="ion-ios-gear-outline"  ui-sref="mine">
        <ion-nav-view name="view-mine"></ion-nav-view>
        <!-- 标签 3 内容 -->
    </ion-tab>

</ion-tabs>
</body>
</html>

首页代码:

<ion-header-bar align-title="center" class="bar-positive">
    <div class="buttons">
        <button class="button" ng-click="toggleLeft()"><i class="icon ion-bonfire"></i></button>
    </div>
    <h1 class="title">Title!</h1>

</ion-header-bar>



<ion-content class="home">
    <ion-refresher pulling-text="下拉刷新" on-refresh="doRefresh()"></ion-refresher>

    <ion-list>
        <!--把解析出来的json串赋值到下面 -->
        <ion-item ng-repeat="book in book_list">
            <div class="a">
                <img ng-src="{{book.picture}}" width="128px" height="128px"/>
            </div>
            <div class="details">
                <h2>{{book.title}}</h2>

                <h3>{{book.description}}</h3>

                <div>
                    <span>{{ book.price | currency: "¥" }}</span>
                    <i class="icon ion-ios-cart"></i>
                </div>
            </div>
        </ion-item>
    </ion-list>
    <!--上拉加载-->
    <ion-infinite-scroll on-infinite="loadMore()" distance="1%" immediate-check="false"></ion-infinite-scroll>
</ion-content>

我的代码 上图:



<ion-header-bar align-title="center" class="bar-positive">

    <h1 class="title">个人中心!</h1>
    <div class="buttons">
        <button class="button"><i class="icon ion-speedometer"></i></button>
    </div>

</ion-header-bar>

<ion-content class="mine">
    <div class="aa">

        <img src="img/pic_04.jpg" height="80" width="80"/>
        <p>姓名</p>
    </div>
    <div class="list">
        <a class="item item-icon-left item-icon-right">
            <i class="icon ion-clipboard"></i>
            我的订单
            <i class="icon ion-ios-arrow-right"></i>
        </a>

        <a class="item item-icon-left item-icon-right">
            <i class="icon ion-star"></i>
            我的收藏
            <i class="icon ion-ios-arrow-right"></i>
        </a>

        <a class="item item-icon-left item-icon-right">
            <i class="icon ion-gear-a"></i>
            设置
            <i class="icon ion-ios-arrow-right"></i>
        </a>
    </div>


</ion-content>

==============================================================

最后配上css  样式类:

.home .a {
    float: left;
}

.home .details h3 {
    margin-top: 16px;
}

.home .details div {
    margin-top: 48px;
}

.home .details span {
    color: red;
    font-size: large;
}

.home .details .ion-ios-cart {
    position: absolute;
    right: 16px;
}


.mine .aa{
    width:100%;
    height: 200px;
    /*设置背景图*/
    background: url("../img/mine_bg.jpg")no-repeat;
    background-size: cover;
    /*水平对齐方式    内容居中*/
    text-align: center;
}
.mine .aa img {
    /*设置圆形图片*/
    border-radius: 50%;
    margin-top: 30px;
}

最后附上图片每个代码所在类:



重要的是每个页面的布局位置   模板   只要分析好就能截取其中的代码进行套用




本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ionic 解析json串 带(路由 侧拉 效果 上拉刷新 下拉加载) 的相关文章

  • Reinforcement Learning 强化学习(四)

    Task03 本次学习主要参照Datawhale开源学习及强化学习蘑菇书Easy RL 第4章 策略梯度 Policy Gradient 4 1 策略梯度算法 在强化学习中有 3 个组成部分 演员 actor 环境 environment

随机推荐

  • odoo tree form 视图禁止创建、修改、删除、复制

  • 用标准C语言初始化线性表,c语言实现线性表的初始化,创建,查找,删除

    1 第一步定义线性表结构 typedef struct ElementType data MaxSize int length Lineartable 2 第二步线性表初始化 初始化线性表 Lineartable INITAL Linear
  • Go 每日一库之 gjson

    快速使用 先安装 go get github com tidwall gjson 后使用 package main import fmt github com tidwall gjson func main json name first
  • Hackinglab(鹰眼)——解密关

    目录 1 以管理员身份登录系统 2 邂逅对门的妹纸 3 万恶的Cisco 4 万恶的加密 5 喜欢泡网吧的小明 6 异常数据 7 md5真的能碰撞嘛 8 小明爱上了一个搞硬件的小姑凉 9 有签名限制的读取任意文件 10 美丽的邂逅与密码器的
  • 什么是卷积

    什么是卷积 卷积 convolution 是一种运算 你可以类比于加 减 乘 除 矩阵的点乘与叉乘等等 它有自己的运算规则 卷积的符号是星号 表达式为 连续的为 f g
  • 小程序web-view打开PDF格式文件的安卓苹果兼容性问题

    小程序中打开pdf格式原本可以使用web view 承载网页的容器 会自动铺满整个小程序页面 个人类型的小程序暂不支持使用
  • 《小岛区块链》之区块链起源

    今天我们开始 小岛区块链 的第三章节 智能合约 本文衔接于 小岛区块链 第二章节 共识之后 为方便大家理解 请先阅读 小岛区块链 之起源 小岛区块链 之共识 一 选举记账还能再升级一下吗 上回说到 在小郑的提议下 鹿谷的村民们都开始按照投票
  • 2019年电赛之路——2015年电子设计竞赛A题任务设计

    参加19年电赛 我们奔着电源题来的 所以我们一开始要练习的题目就选定了15年的A题 因为我们找到了几个国一方案 但是只有一个方案 代码和PCB图都没有 这也是我们失误的地方 本来的路线应该是找一个成品方案 模仿着做下来 先做下来一个题目后
  • 剑指 Offer 05. 替换空格(java+python)

    请实现一个函数 把字符串 s 中的每个空格替换成 20 示例 1 输入 s We are happy 输出 We 20are 20happy 限制 0 lt s 的长度 lt 10000 java StringBuilder StringB
  • tomcat7启动报taglib标签错误

    问题描述 应用在tomcat6上发布没有问题 部署到tomcat7后报错 不识别配置的taglib标签 问题截图如下 解决方法 查询应用环境 除服务器为tomcat7外 配置的web xml 头文件为 测试头文件为
  • Arduino 自动初始化ESP8266为透传模式

    通过上篇可以把esp8266设置成透传模式 但掉电后esp8266会退出透传模式 需要重新初始化 这样arduino和esp8266结合使用时 每次重启后都要通过电脑重新设置esp8266进入透传模式 这里通过把AT指令写进arduino程
  • elasticsearch 为“非查询字段”不建索引 index store

    官方文档 index 简章翻译 文末附原文 索引index 这个参数可以控制字段应该怎样建索引 怎样查询 它有以下三个可用值 no 不把此字段添加到索引中 也就是不建索引 此字段不可查询 not analyzed 将字段的原始值放入索引中
  • python元组练习题

    Python 元组综合练习 使用python语言创建空元组 score 按学号顺序 由小到大 保存多个学生一门课程的 考试成绩 调用元组操作的常用函数实现以下功能 1 创建score 元组 其中包含10 个数值 68 87 92 100 7
  • Golang当中的定时器

    定时器 前言 定时器的基本使用 前言 在平时写代码的时候 我们经常会遇到在将来某个时间点或者间隔一段时间重复执行函数 这个时候我们就可以考虑使用定时器 本片文章主要介绍一下golang当中的几个常用的定时器 time Timer time
  • (二十六)admin-boot项目之基于注解的数据字段脱敏

    项目地址 https gitee com springzb admin boot 如果觉得不错 给个 star 简介 这是一个基础的企业级基础后端脚手架项目 主要由springboot为基础搭建 后期整合一些基础插件例如 redis xxl
  • VMware 14 安装win7x64

    所需工具 VMware17 windows镜像 windows镜像在脚本之家下载的 1 新建虚拟机 文件 gt 新建虚拟机 gt 下一步 2 选择 稍候安装操作系统 下一步 3 选择操作系统和版本 下一步 4 设置虚拟机名称和存放位置 选择
  • java动态创建xml文件

    private static void createXml String dest throws Exception DocumentBuilderFactory factory DocumentBuilderFactory newInst
  • Java中占位符的实战运用

    java中的占位符 有以下几种等等 s字符串类型的占位符 b布尔类型的占位符 d整数类型的占位符 c字符类型的占位符 我们大多情况就只用前两种 举个例子 Created by xiwen on 2021 1 14 Slf4j public
  • 常用小工具使用记录整理

    简单记录方便后续使用 1 截图软件 FSCapture exe FSCapture最新版是款适合电脑屏幕中使用的抓屏工具 FSCapture官方版集成了图像捕捉 图像浏览以及图像编辑等功能为一体 帮助用户对截取的图形进行处理操作 并且FSC
  • ionic 解析json串 带(路由 侧拉 效果 上拉刷新 下拉加载)

    先上图看效果 上代码 一般都是 按顺序上代码的