重构与动态为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 ...
随机推荐
- Rainbow Plan团队项目第一次作业——项目计划
团队项目--Rainbow Plan英语学习App 1.团队简介 1.1团队名称:Rainbow Plan (彩虹计划) 1.2团队成员: 队员学号 队员姓名 201731024235 何继武(组长) ...
- 每天一道Java题[9]
题目 native关键字的作用是什么? 解答 首先,需了解JNI(Java Native Interface),它是连接Java平台与本地C代码的一个API. 其次,用native关键字声明的方法,是 ...
- MVVM的理解和Vue的生命周期
一.对于MVVM的理解? MVVM 是 Model-View-ViewModel 的缩写.Model代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑.View 代表UI 组件,它负责将数 ...
- html块级元素的水平垂、直居中的方式
说明 对于初学者来说,块级元素的剧中,也是一大难题,我学习的时候,也是一脸懵逼,每次遇到都要百度,但是写的多了也自然记住一些常用的剧中方式,但是还是很模糊,今天就来好好总结一些. 布局 布局即为简单, ...
- 迭代器中set的使用
今天对迭代器中的set方法进行了一下简单的使用,由于之前使用过list方法,所以将他与list进行了一下对比. list中加入对象时不会进行查重,也就是只要是一个符合的对象就可以加到list中,而对于 ...
- keywords in my life
在脑子里出现的灵光一现的话语总是美好的: 1.当你试图站在人的发展,历史的发展的角度上看待问题,会发现我们身上所发生的任何事情都是必然的. 2.永远不要以好人的身份去看待和分析一件事情. 3.历史悲剧 ...
- C陷阱与缺陷学习笔记
导读 程序是由符号(token)序列所组成的,将程序分解成符号的过程,成为"词法分析". 符号构成更大的单元--语句和声明,语法细节最终决定了语义. 词法陷阱 符号(token)指 ...
- Lua使用luasocket http请求例子
local http=require("socket.http"); local request_body = [[login=user&password=123]] lo ...
- LeetCode 547. Friend Circles 朋友圈(C++/Java)
题目: https://leetcode.com/problems/friend-circles/ There are N students in a class. Some of them are ...
- Bayesian Non-Exhaustive Classification A case study:online name disambiguation using temporal record streams
一 摘要: name entity disambiguation:将对应多个人的记录进行分组,使得每个组的记录对应一个人. 现有的方法多为批处理方式,需要将所有的记录输入给算法. 现实环境需要1:以o ...