重构与动态为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 ...
随机推荐
- Java 单向队列及环形队列
队列的特点 1.可以使用数组和链表两种方式来实现. 2.遵循先入先出(FIFO)的规则,即先进入的数据先出. 3.属于有序列表. 图解实现过程: 1.定义一个固定长度的数组,长度为maxSize. ...
- python多层数组合成一个数组后循环打印出数组内的每一项元素的方法
a=[1,2,3,4] b=[5,6,7,8] c=[a,b] def test(c): for i in c: return i print(test(c)) 以上代码执行后打印出来的结果是 预期目 ...
- [ZJOI2008]树的统计(树链剖分)
[ZJOI2008]树的统计(luogu) Description 一棵树上有 n 个节点,编号分别为 1 到 n,每个节点都有一个权值 w.我们将以下面的形式来要求你对这棵树完成一些操作: I. C ...
- Thumb.db看不到的问题
今天读取数据集的时候总是会读到一个Thumb.db的缩略图文件,点开查看选项里面的显示隐藏文件.文件夹处于勾选状态,此时文件夹中并不存在此文件. 解决方案: 勾选掉隐藏受保护的操作系统文件即可.
- Vue中的计算属性
一.什么是计算属性 模板内的表达式非常便利,但是设计它们的初衷是用于简单运算的.在模板中放入太多的逻辑会让模板过重且难以维护. 二.计算属性的用法 在一个计算属性里可以完成各种复杂的逻辑,包括运算.函 ...
- AWS 入门使用
AWS官方参考文档:https://docs.aws.amazon.com/s3/index.html AWS基本介绍:https://docs.aws.amazon.com/zh_cn/Amazon ...
- Lighthouse
北大程郁缀教授: 一,"日月之行,若出其中,星汉灿烂,若出其里."要找机会去感受大海,男人要有大海一样的胸怀,大气者方能成大器. 二,"亦余心之所善兮,虽九死其而未悔.& ...
- html作业记录
<html> <head> <title>Hello World</title> </head> <body> <!-- ...
- java字符编码-Unicode编码问题刨根究底
博客搬家: java字符编码问题 前段时间在读<java核心技术卷一>,遇到一些名词:码点.代码单元等,其实字面意思不难理解,解释如下 码点(code point):Unicode编码表中 ...
- 使用小书匠及markdown here编辑博客和微信公众号
1. 使用小书匠连接Evernote并发布笔记到博客园 1.1 小书匠初探 我平时的信息收集的主要方法是采用Pocket+Evernote. 简单来说: 如果访问到非常有用,而且是必须要立刻记录的内容 ...