AngularJS 获取ng-repeat动态生成的ng-model值实例详解


Posted in Javascript onNovember 29, 2016

AngularJS 获取ng-repeat动态生成的ng-model值

              最近做项目遇到了ng-model是ng-repeat动态生成的,ng-model=”变量”,什么变量,是未知的,所以你无法在$scope."变量"取到值,就算取到值也是其中一个值,这样的问题,经过百度一番查找找到解决方案,这里记录下,也行可以帮助到大家。

代码

html

<div>
  <div class="modal-header">
    <h3 class="modal-title">用例集全局参数配置</h3>
  </div>
  <div class="modal-body">
    <table class="table table-hover">
      <thead>
      <tr>
        <th>参数</th>
        <th>参数值</th>
      </tr>
      </thead>
      <tbody ng-repeat="param in params">
      <tr>
        <td>{{param}}</td>
        <td><input name="test" class="form-control" type="text" ng-trim="false" ng-model="$parent.conf[$index]"/></td>
      </tr>
      </tbody>
    </table>


  </div>

  <div class="modal-footer">
    <button class="btn btn-primary" ng-click="ok()">
      应用
    </button>
    <button class="btn btn-warning" ng-click="cancel()">取消</button>
  </div>

</div>

JS

var ModalInstanceCtrl = function ($scope, $modalInstance, params) {
      $scope.params = params;
      $scope.conf = [];
      $scope.ok = function () {
        console.log($scope.conf);
        $modalInstance.close($scope.conf);
      };
      $scope.cancel = function () {
        $modalInstance.dismiss('cancel');
      };
    };

问题描述

因为ng-model是ng-repeat动态生成的,ng-model=”变量”,什么变量,是未知的,所以你无法在$scope."变量"取到值,就算取到值也是其中一个值,这个问题困扰了我一天,终于解决了。

解决方法

首先ng-model设置为$parent.conf[$index]:

  1. 用$parent的原因是ng-repeat产生的,他会为每一个input生成一个子scope对象,而$parent表示用父类的scope,这样我们在JS文件中才能取到该值。
  2. $index代表的意思是ng-repeat="param in params"遍历时的下标
  3. conf是我们在js中的变量名实际效果

我们在controller中定义了一个$scope.conf = [];就是一个数组,刚好通过上面的代码,为该数组添加了元素,然后我们通过scope.conf刚好把ng-model的所有元素自动保存了。

实际效果:

AngularJS 获取ng-repeat动态生成的ng-model值实例详解

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

Javascript 相关文章推荐
function, new function, new Function之间的区别
Mar 08 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
Feb 12 Javascript
jquery实现textarea输入框限制字数的方法
Jan 15 Javascript
JQuery中clone方法复制节点
May 18 Javascript
一张Web前端的思维导图分享
Jul 03 Javascript
JavaScript 数组some()和filter()的用法及区别
May 20 Javascript
jquery 标签 隔若干行加空白或者加虚线的方法
Dec 07 Javascript
详解AngularJS通过ocLazyLoad实现动态(懒)加载模块和依赖
Mar 01 Javascript
微信小程序 首页制作简单实例
Apr 07 Javascript
js实现可以点击收缩或张开的悬浮窗
Sep 18 Javascript
详解10分钟学会vue滚动行为
Sep 21 Javascript
JS文件中加载jquery.js的实例代码
May 05 jQuery
jQuery Easy UI中根据第一个下拉框选中的值设置第二个下拉框是否可以编辑
Nov 29 #Javascript
JavaScript获取服务器端时间的方法
Nov 29 #Javascript
微信小程序链接传参并跳转新页面
Nov 29 #Javascript
JavaScript中Array对象用法实例总结
Nov 29 #Javascript
完美解决jQuery fancybox ie 无法显示关闭按钮的问题
Nov 29 #Javascript
JavaScript构建自己的对象示例
Nov 29 #Javascript
浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法
Nov 29 #Javascript
You might like
人大复印资料处理程序_补充篇
2006/10/09 PHP
收集的二十一个实用便利的PHP函数代码
2010/04/22 PHP
PHP类继承 extends使用介绍
2014/01/14 PHP
PHP抓取远程图片(含不带后缀的)教程详解
2016/10/21 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
模拟用户操作Input元素,不会触发相应事件
2007/05/11 Javascript
InnerHtml和InnerText的区别分析
2009/03/13 Javascript
把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数
2014/07/29 Javascript
JavaScript使用shift方法移除素组第一个元素实例分析
2015/04/06 Javascript
JavaScript中数据结构与算法(二):队列
2015/06/19 Javascript
JS实现控制文本框的内容
2016/07/10 Javascript
require.js配合插件text.js实现最简单的单页应用程序
2016/07/12 Javascript
js文件中直接alert()中文出来的是乱码的解决方法
2016/11/01 Javascript
Vue如何引入远程JS文件
2017/04/20 Javascript
详解webpack打包后如何调试的方法步骤
2018/11/07 Javascript
Layui动态生成select下拉选择框不显示的解决方法
2019/09/24 Javascript
[01:18]一目了然!DOTA2DotA快捷操作对比第一弹
2014/07/01 DOTA
python使用PyFetion来发送短信的例子
2014/04/22 Python
Python实现从url中提取域名的几种方法
2014/09/26 Python
浅析Python语言自带的数据结构有哪些
2019/08/27 Python
python中图像通道分离与合并实例
2020/01/17 Python
python 穷举指定长度的密码例子
2020/04/02 Python
python opencv图像处理(素描、怀旧、光照、流年、滤镜 原理及实现)
2020/12/10 Python
Pycharm制作搞怪弹窗的实现代码
2021/02/19 Python
恶意软件的定义
2014/11/12 面试题
保送生自荐信范文
2013/10/06 职场文书
大学生职业生涯规划范文——找准自我,定位人生
2014/01/23 职场文书
感恩节活动方案
2014/01/27 职场文书
财务人员的自我评价范文
2014/03/03 职场文书
关于读书的演讲稿
2014/05/07 职场文书
乐观自信演讲稿范文
2014/05/21 职场文书
房屋鉴定委托书范本
2014/09/23 职场文书
作风转变年心得体会
2014/10/22 职场文书
2015年中秋节演讲稿
2015/03/20 职场文书
演讲稿之开卷有益
2019/08/07 职场文书
磁贴还没死, 微软Win11可修改注册表找回Win10开始菜单
2021/11/21 数码科技