重构与动态为angularjs栏位赋值或获取值
先来看下面一段html:

这个ng-model名称带有一定的规律带有序号。
先来实现数据绑定,从数据取到数据后,为ng-model绑定相对应的值:

var c = response.data
$scope.Start1 = $filter("jsonDateFormat")(c.Start1, "yyyy-MM-dd");
$scope.Start2 = $filter("jsonDateFormat")(c.Start2, "yyyy-MM-dd");
$scope.Start3 = $filter("jsonDateFormat")(c.Start3, "yyyy-MM-dd");
$scope.Start4 = $filter("jsonDateFormat")(c.Start4, "yyyy-MM-dd");
$scope.Start5 = $filter("jsonDateFormat")(c.Start5, "yyyy-MM-dd");
$scope.Start6 = $filter("jsonDateFormat")(c.Start6, "yyyy-MM-dd");
$scope.Start7 = $filter("jsonDateFormat")(c.Start7, "yyyy-MM-dd");
$scope.Start8 = $filter("jsonDateFormat")(c.Start8, "yyyy-MM-dd");
$scope.Start9 = $filter("jsonDateFormat")(c.Start9, "yyyy-MM-dd");
$scope.Start10 = $filter("jsonDateFormat")(c.Start10, "yyyy-MM-dd");
$scope.Start11 = $filter("jsonDateFormat")(c.Start11, "yyyy-MM-dd");
$scope.Start12 = $filter("jsonDateFormat")(c.Start12, "yyyy-MM-dd");
$scope.Start13 = $filter("jsonDateFormat")(c.Start13, "yyyy-MM-dd");
$scope.End1 = $filter("jsonDateFormat")(c.End1, "yyyy-MM-dd");
$scope.End2 = $filter("jsonDateFormat")(c.End2, "yyyy-MM-dd");
$scope.End3 = $filter("jsonDateFormat")(c.End3, "yyyy-MM-dd");
$scope.End4 = $filter("jsonDateFormat")(c.End4, "yyyy-MM-dd");
$scope.End5 = $filter("jsonDateFormat")(c.End5, "yyyy-MM-dd");
$scope.End6 = $filter("jsonDateFormat")(c.End6, "yyyy-MM-dd");
$scope.End7 = $filter("jsonDateFormat")(c.End7, "yyyy-MM-dd");
$scope.End8 = $filter("jsonDateFormat")(c.End8, "yyyy-MM-dd");
$scope.End9 = $filter("jsonDateFormat")(c.End9, "yyyy-MM-dd");
$scope.End10 = $filter("jsonDateFormat")(c.End10, "yyyy-MM-dd");
$scope.End11 = $filter("jsonDateFormat")(c.End11, "yyyy-MM-dd");
$scope.End12 = $filter("jsonDateFormat")(c.End12, "yyyy-MM-dd");
$scope.End13 = $filter("jsonDateFormat")(c.End13, "yyyy-MM-dd");
Source Code
以上方法,最原始了,一一绑定。有没有一个简单一点的,只实现名称序号循环。

var c = response.data
var objs = [
{ S: c.Start1, E: c.End1 },
{ S: c.Start2, E: c.End2 },
{ S: c.Start3, E: c.End3 },
{ S: c.Start4, E: c.End4 },
{ S: c.Start5, E: c.End5 },
{ S: c.Start6, E: c.End6 },
{ S: c.Start7, E: c.End7 },
{ S: c.Start8, E: c.End8 },
{ S: c.Start9, E: c.End9 },
{ S: c.Start10, E: c.End10 },
{ S: c.Start11, E: c.End11 },
{ S: c.Start12, E: c.End12 },
{ S: c.Start13, E: c.End13 }
];
var i = 1;
while (i <= 13) {
$scope['Start' + i] = $filter("jsonDateFormat")(objs[i - 1].S, "yyyy-MM-dd");
$scope['End' + i] = $filter("jsonDateFormat")(objs[i - 1].E, "yyyy-MM-dd");
i++;
}
Source Code
这样一改,简洁多了。不过还得把获取的数据源进行一次转换为阵列。
下面第3次修改:

var i = 1;
while (i <= 13) {
$scope['Start' + i] = $filter("jsonDateFormat")(c['Start' + i], "yyyy-MM-dd");
$scope['End' + i] = $filter("jsonDateFormat")(c['End' + i], "yyyy-MM-dd"); i++;
}
Source Code
OK,讲完绑定,现在我们来说说获取ng-model的值:

object.Start1 = $scope.Start1;
object.Start2 = $scope.Start2;
object.Start3 = $scope.Start3;
object.Start4 = $scope.Start4;
object.Start5 = $scope.Start5;
object.Start6 = $scope.Start6;
object.Start7 = $scope.Start7;
object.Start8 = $scope.Start8;
object.Start9 = $scope.Start9;
object.Start10 = $scope.Start10;
object.Start11 = $scope.Start11;
object.Start12 = $scope.Start12;
object.Start13 = $scope.Start13;
object.End1 = $scope.End1;
object.End2 = $scope.End2;
object.End3 = $scope.End3;
object.End4 = $scope.End4;
object.End5 = $scope.End5;
object.End6 = $scope.End6;
object.End7 = $scope.End7;
object.End8 = $scope.End8;
object.End9 = $scope.End9;
object.End10 = $scope.End10;
object.End11 = $scope.End11;
object.End12 = $scope.End12;
object.End13 = $scope.End13;
Source Code
以上,也是最原始的获取方法,一个一个进行获取。
从上面的绑定方法与原理,我们对获取ng-model有值,也可以使用循环的方法来进行。

var i = 1;
while (i <= 13) {
object['Start' + i] = $scope['Start' + i];
object['End' + i] = $scope['End' + i];
i++;
}
Source Code
重构与动态为angularjs栏位赋值或获取值的更多相关文章
- Odoo8.0中允许用户动态调整TreeView栏位宽度
现有的Odoo8.0中TreeView的栏位宽度是固定的,不可以手动调整,通过安装第三方插件后,可以实现手工动态调整. 下载模块安装即可.http://download.csdn.net/detail ...
- 基于jquery的表格动态创建,自动绑定,自动获取值
最近刚加入GUT项目,学习了很多其他同事写的代码,感觉受益匪浅. 在GUT项目中,经常会碰到这样一个问题:动态生成表格,包括从数据库中读取数据,并绑定在表格中,以及从在页面上通过jQuery新增删除表 ...
- java反射遍历实体类属性和类型,并赋值和获取值
/* * GetModelNameAndType.java * Version 1.0.0 * Created on 2017年12月15日 * Copyright ReYo.Cn */ packag ...
- org.postgresql.util.PSQLException: 栏位索引超过许可范围:3,栏位数:2。
org.postgresql.util.PSQLException: 栏位索引超过许可范围:3,栏位数:2. 今天在写完SQL进行查询的时候,后台一直报错显示上面的信息.看错误完全不知道原因,就重新检 ...
- input 栏位光标末尾闪烁
var input1 =window.document.getElementById("input1").createTextRange(); input1.collapse(fa ...
- (转)[SQL Server] 动态sql给变量赋值(或返回值给变量)
本文转载自:http://blog.csdn.net/xiaoxu0123/article/details/5684680 [SQL Server] 动态sql给变量赋值(或返回值给变量) decla ...
- C# 动态绘制任务栏图标的实现
通常我们在做一个应用时会遇到这样的需求:将收到的消息条数显示到任务栏,比如如下的效果 怎么实现呢? 答案是采用WindowsAPICodePack实现,具体参见:Windows 7 任务栏开发 之 覆 ...
- 6 关于 Oracle NULL栏位和PL./SQL执行实验
今日有针对NULL值有了相关实验. 对NULL 值插入的讨论. 1, PL/SQL 中可以执行插入''或者NULL 的操作, 前提是栏位允许为空. 2, 可以对NULL进行一系列数据库运算. 如: ...
- ZZ_INEERNAL每个栏位的含义
ZZ_INEERNAL包含10列,每列之间用,隔开 第一列:exception class,有KE/NE/JE/EE等 第二列:pid 第三列:tid 第四列:固定是99 第五列:固定是/data/c ...
随机推荐
- [ Python入门教程 ] Python中日期时间datetime模块使用实例
Python中datetime模块提供强大易用的日期处理功能,用于记录程序操作或修改时间.时间计算.日志时间显示等功能.datatime模块重新封装了time模块,提供的类包括date.time.da ...
- 史上最详细的二叉树、B树,看不懂怨我
今天我们要说的红黑树就是就是一棵非严格均衡的二叉树,均衡二叉树又是在二叉搜索树的基础上增加了自动维持平衡的性质,插入.搜索.删除的效率都比较高.红黑树也是实现 TreeMap 存储结构的基石. 1.二 ...
- ImportError: Failed to import pydot. You must install pydot and graphviz for `pydotprint` to work.
用了pip install pydot; pip install graphviz都不行 去网上查了才发现window下要去https://graphviz.gitlab.io/下载windows版本 ...
- 解决Idea的Generate Sources无法生成QueryDSL问题
今天是2020年第一天在家办公,就出现了跟在公司不一样的现象,deploy项目到maven库时失败,之前一直成功. 查到原因在于QueryDSL类没有生成,但为何在公司可以而在家里就不行呢? 鉴于Id ...
- 工具之sort
转自:http://www.cnblogs.com/dong008259/archive/2011/12/08/2281214.html sort命令是帮我们依据不同的数据类型进行排序,其语法及常用参 ...
- 小程序--->scroll-view组件不能触发相应滚动事件
小程序scroll-view组件不能触发相应滚动事件 在制作加载更多时会发现不能触发相应事件,一般情况下首先要查看两个必要的属性scroll-view的高度是否设置,第二就是scroll-view的滚 ...
- qt连接mysql数据库实例
qt5.2版本已经封装进去了mysql驱动,所以省去了我们现编译的麻烦!!! #include <QCoreApplication> #include <QDebug> #in ...
- 关于puremvc的几点思考
软件框架 框架要解决的问题是什么?这个问题感觉不能一概而论,就目前我遇到的项目实际来说主要是要解决以下几个问题 复用 并行开发 跨平台 项目背景:视频监控领域下,C/S & B/S模式的PC客 ...
- golang学习笔记(一):包,变量,函数
欢迎访问我的博客和github! go 语言学习笔记第一弹,来自 gotour ,以后要常写笔记,把自己学习笔记记录下来,就算只是笔记也要多写. 好记性不如烂笔头,也要多锻炼自己的写作能力. 说实话, ...
- Nginx+uWSGI+Django原理(转发)
Python的Web开发中,如果使用Django框架,那么较为成熟稳定的服务器架构一般是Nginx+uWSGI+Django.而为什么一定要三个结合在一起呢?直接使用Django的runserver来 ...