先来看下面一段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栏位赋值或获取值的更多相关文章

  1. Odoo8.0中允许用户动态调整TreeView栏位宽度

    现有的Odoo8.0中TreeView的栏位宽度是固定的,不可以手动调整,通过安装第三方插件后,可以实现手工动态调整. 下载模块安装即可.http://download.csdn.net/detail ...

  2. 基于jquery的表格动态创建,自动绑定,自动获取值

    最近刚加入GUT项目,学习了很多其他同事写的代码,感觉受益匪浅. 在GUT项目中,经常会碰到这样一个问题:动态生成表格,包括从数据库中读取数据,并绑定在表格中,以及从在页面上通过jQuery新增删除表 ...

  3. java反射遍历实体类属性和类型,并赋值和获取值

    /* * GetModelNameAndType.java * Version 1.0.0 * Created on 2017年12月15日 * Copyright ReYo.Cn */ packag ...

  4. org.postgresql.util.PSQLException: 栏位索引超过许可范围:3,栏位数:2。

    org.postgresql.util.PSQLException: 栏位索引超过许可范围:3,栏位数:2. 今天在写完SQL进行查询的时候,后台一直报错显示上面的信息.看错误完全不知道原因,就重新检 ...

  5. input 栏位光标末尾闪烁

    var input1 =window.document.getElementById("input1").createTextRange(); input1.collapse(fa ...

  6. (转)[SQL Server] 动态sql给变量赋值(或返回值给变量)

    本文转载自:http://blog.csdn.net/xiaoxu0123/article/details/5684680 [SQL Server] 动态sql给变量赋值(或返回值给变量) decla ...

  7. C# 动态绘制任务栏图标的实现

    通常我们在做一个应用时会遇到这样的需求:将收到的消息条数显示到任务栏,比如如下的效果 怎么实现呢? 答案是采用WindowsAPICodePack实现,具体参见:Windows 7 任务栏开发 之 覆 ...

  8. 6 关于 Oracle NULL栏位和PL./SQL执行实验

    今日有针对NULL值有了相关实验. 对NULL 值插入的讨论. 1, PL/SQL 中可以执行插入''或者NULL 的操作, 前提是栏位允许为空. 2, 可以对NULL进行一系列数据库运算. 如:   ...

  9. ZZ_INEERNAL每个栏位的含义

    ZZ_INEERNAL包含10列,每列之间用,隔开 第一列:exception class,有KE/NE/JE/EE等 第二列:pid 第三列:tid 第四列:固定是99 第五列:固定是/data/c ...

随机推荐

  1. CTRL_IKun团队项目总结

    1. 团队项目-总结 这个作业属于哪个课程 课程链接 这个作业要求在哪里 作业要求 团队名称 CTRP-lkun 这个作业的目标 团队项目总结,每个人的收获和感悟 Github地址 Github 2. ...

  2. python文件、文件夹的相关操作

    python文件.文件夹的相关操作 #1.rename()可以完成对文件的重命名 #rename(需要修改的文件名,新的文件名) import os os.rename("readme.tx ...

  3. gRPC in ASP.NET Core 3.x -- Protocol Buffer(2)Go语言的例子(下)

    第一篇文章(大约半年前写的):https://www.cnblogs.com/cgzl/p/11246324.html gRPC in ASP.NET Core 3.x -- Protocol Buf ...

  4. [python-docx]docx文档操作的库

    from docx import Document from docx.shared import Inches # 新建document对象 document = Document() # 添加段落 ...

  5. Codeforces_793

    A.找最小的数,看每个数跟它的差是否被k整除. #include<bits/stdc++.h> #define MOD 1000000007 using namespace std; ] ...

  6. SpringBoot之ApplicationRunner接口和@Order注解

    我们在开发中可能会有这样的情景.需要在容器启动的时候执行一些内容.比如读取配置文件,数据库连接之类的.SpringBoot给我们提供了ApplicationRunner接口来帮助我们实现这种需求.该接 ...

  7. Vsftpd: 基于PAM认证的虚拟用户和匿名用户

    目录 环境说明效果说明及截图①. 安装组件②. 系统账户建立③. 编辑vsftpd的配置文件④. 生成虚拟用户的数据库文件⑤. 生成一个使用vsftpd_login.db数据文件的PAM认证文件⑥. ...

  8. hive命令

    1.库命令:show databases; 查看所有库名select current_database(); 显示当前数据库:describe database publish; 查看某个库信息use ...

  9. ajax实现文本框的联想功能

    先写一个jsp通过ajax传值给servlet进行查询再传给对应的div进行显示. <%@ page language="java" contentType="te ...

  10. 【大白话系统】MySQL 学习总结 之 缓冲池(Buffer Pool) 如何支撑高并发和动态调整

    如果大家对我的 [大白话系列]MySQL 学习总结系列 感兴趣的话,可以点击关注一波. 一.上节回顾 在上节< 缓冲池(Buffer Pool) 的设计原理和管理机制>中,介绍了缓冲池整体 ...