Framework7 + Angular 开发问题解决汇总
本篇主要汇总一下使用Framework7 + Angular 开发中遇到的一些难点及我的解决方法,以后再遇到会在这里继续更新。
一、页面表格按需加载
情况描述:默认加载10条,在用户上拉页面是再进行下一页的内容加载。
解决方法:利用Framework7 的无限滚动。
1、页面:
<tbody id="orderContent">
<tr ng-repeat="order in orderInfoList">
<td><span ng-if="order.orderNo == null">--</span><span ng-if="order.orderNo != null">{{order.orderNo}}</span></td>
<td><span ng-if="order.orderType == null">--</span><span ng-if="order.orderType != null">{{order.orderType}}</span></td>
<td><span ng-if="order.completeStatus == null">--</span><span ng-if="order.completeStatus != null">{{order.completeStatus}}</span></td>
<td class=" ">
<button class="btn btn-primary btn-xs" ng-click="selectOrderInfoDetailModel($index);">详情</button>
<button class="btn btn-warning btn-xs" ng-click="deleteOrderInfoDetailModel($index);">删除</button>
</td>
</tr>
</tbody>
将后面加载的内容插入到 id="orderContent" 的 tbody 中。
2、js(只显示关键代码,其他用省略号代替):
......
$scope.queryParam = {}; ......
// 初始化分页参数
$scope.pgPageInfo = {
pageNum: 1,
pageSize: 20
};
// 初始化 无限加载 参数
var $$ = Dom7;
var loading = false; $$('.infinite-scroll').on('infinite', function () {
moreOrderInfo();
}); function moreOrderInfo() {
var lastLoadedIndex = $$('#orderContent tr').length; ...... // 全部内容加载完后,显示底线,return
if (lastLoadedIndex >= $scope.pgPageInfo.total) {
$('#orderNomore').show();
return;
} var param = $scope.queryParam; // 查询参数
param.pageInfo = {
pageNum: $scope.pgPageInfo.pageNum + 1,
pageSize: 20
}; PiecesListFactory.queryOrderInfoRequest(param).then(function (data) {
loading = false; app.myApp.hideIndicator(); ModalFactory.hideLoading();
if (null == data) {
app.myApp.detachInfiniteScroll($$('.infinite-scroll'));
$$('.infinite-scroll-preloader').remove();
} else {
$scope.pgPageInfo = data.pageInfo; var orderHtml = "";
for (var i = 0; i < data.result.length; i++) {
// 循环data.result,得到拼接的orderHtml
} $('#orderContent').append(orderHtml); // 将加载的内容插入到页面 lastLoadedIndex = $$('#orderContent tr').length; } }, function (data) {
app.myApp.hideIndicator();
ModalFactory.alert("数据加载失败!");
});
}
3、还有一个地方,就是在angular初始化的时候,要对列表内容块加上Framework7 的滚动监听
var init = function () {
app.myApp.attachInfiniteScroll($$(".infinite-scroll"));
};
init();
二、页面中 angularJS 动态加载的内容,ng-click 无效
情况描述:完成了上面的列表内容动态加载,又遇到了一个问题,如果加载的内容不触发事件,就完事了,可是我这里,列表有个操作(详情,删除),所以之后发现动态加载的内容中 angularJS 的 ng-click 无效。。。
解决方法:用 $compile服务 编译一下动态加载的内容。
将上面的 $('#orderContent').append(orderHtml); 中的动态内容 orderHtml 处理一下::
var orderLink = $compile(orderHtml);
$('#orderContent').append(orderLink($scope));
Framework7 + Angular 开发问题解决汇总的更多相关文章
- Kinect开发资源汇总
Kinect开发资源汇总 转自: http://www.sigvc.org/bbs/forum.php?mod=viewthread&tid=254&highlight=kinec ...
- cordova开发问题汇总
cordova开发问题汇总 1. 导入工程的"The import android cannot be resolved"错误解决方法 2. MainActivity] Unabl ...
- Win10 FaceAPI小demo开发问题汇总
Win10 FaceAPI小demo开发问题汇总 最近使用微软牛津计划做一个小demo,使用FaceAPI做一个小应用,实现刷脸的功能.开发的过程中用到几个问题,具体如下: Stream 与IRand ...
- android开发问题汇总
android开发问题汇总 一. 无法创建新android项目 在eclipse创建新项目时出现: this template depends on the android support libra ...
- Visual Studio Code作为Angular开发工具常用插件安装、json-server安装与使用、angular/cli安装失败问题
前提准备: 搭建好Angular开发环境 1 安装Visual Studio Code 教程简单,不会的去问度娘 2 安装Chrome浏览器 教程简单,不会的趣闻度娘 3 Visual Studio ...
- Angular开发实践(一):环境准备及框架搭建
引言 在工作中引入Angular框架将近一年了,在这一年中不断的踩坑和填坑,当然也学习和积累了很多的知识,包括MVVM框架.前后端分离.前端工程化.SPA优化等等.因此想通过Angular开发实践这系 ...
- Android进阶(二十)AndroidAPP开发问题汇总(四)
· Android进阶(二十)AndroidAPP开发问题汇总(四) android:layout_width和android:width的区别 基中的android:layout_width和and ...
- Android进阶(十九)AndroidAPP开发问题汇总(三)
Android进阶(十九)AndroidAPP开发问题汇总(三) Java解析XML的几种方式: http://inotgaoshou.iteye.com/blog/1012188 从线程返回数据的两 ...
- Android进阶(十八)AndroidAPP开发问题汇总(二)
Android进阶(十八)AndroidAPP开发问题汇总(二) 端口被占用解决措施: Android使用SimpleAdapter更新ListView里面的Drawable元素: http://ww ...
随机推荐
- 分布式Hadoop和HBase整合
环境: CentOS 6.6 hadoop-2.6.0 hbase-0.98.10.1 HBase1 192.168.1.4 Mast ...
- Python_关键字列表
1.Python关键字列表
- OAuth2在微服务架构中的应用
首先是为什么要在微服务场景使用OAuth2,这是因为使用了OAuth2后,就能向第三方系统提供授权. 其次是如何使用,见下图: 在微服务架构中使用OAuth2,有几个问题需要我们思考: 1. toke ...
- charles 右键菜单
本文参考:charles 右键菜单 在网址/域名上右键 可以获得下面菜单 区域 1 基本操作 :基本的URL复制,文件保存,以及选中文件内搜索 区域 2 重写操作 :重写发送请求(调用接口合适),或者 ...
- 基本排序-冒泡/选择/插入(python)
# -*- coding: utf-8 -*- import random def bubble_sort(seq): n = len(seq) for i in range(n-1): print( ...
- 某网站的videojs的配置及操作
某网站的videojs的配置及操作 一.总结 一句话总结: 多参照参照别人的例子就好,省事 1.videojs如何获取用户当前视频的位置? this.currentTime() 2.回到视频开始处? ...
- 文件读写(一)利用File静态类 System.IO.FileInfo、DirectoryInfo、DriveInfo
提供用于创建.复制.删除.移动和打开单一文件的静态方法,并协助创建 FileStream 对象. 一.读文件: 1.返回字符串:File.ReadAllText() string readText = ...
- redis危险命令
KEYS 单行遍历,速度很慢很占执行时间,对单核来说,极有可能导致执行完后处理不过来这段时间堆积的任务量,导致雪崩. FLUSHALL FLUSHDB CONFIG 今晚搜索kombu用的key,用了 ...
- LightOJ-1010-Knights in Chessboard(数学)
链接: https://vjudge.net/problem/LightOJ-1010 题意: Given an m x n chessboard where you want to place ch ...
- Spring Boot学习--spring-boot-starter-parent及starters(转)
在官方文档的第三部分的13块讲述了引用的管理,官方推荐的是使用Maven和Gradle. 我一直在用的是maven,而且使用maven有些优势–spring-boot-starter-parent,这 ...