angularjs在ng-repeat中使用ng-model遇到的问题  更新时间:2016年01月21日 10:50:08   投稿:hebedich   本文给大家分享了一个个人在使用angular过程中遇到的在ng-repeat中使用ng-model的问题,并附上简单的解决办法,希望能对大家学习angular有所帮助 在ng-repeat中使用ng-model时会有许多问题,有的人碰到无法获取绑定的数据内容,有的人遇到改动绑定的数据内容时所有循环生成的内容一起改变。上面的问题我在开发时也遇到过,但是解决后我却怎么也还原不了那种情况了,只能先简单介绍一下无法获取的情景该如何解决。 例如: html: {{pop.pop}} 北京 上海 广州 ceshi js: 很简单的功能,想要在点击更改按钮时获取select当前选中的数据内容,但是你会发现这样写只能得到undefined,此时有的人会提出可以将p赋予成为一个对象,通过key:value的方式来保存每一次的选择 $scope.p={}; 这样确实没问题,但是会有一个新的问题那就是只要改动了一项,那么所有的内容都会跟着一起改变,那么有没有更好的方法呢? 只要一个小小的改动 html: ceshi js: $scope.cs=function(p){ console.log(p); } 这只是个简单的例子,如大家在实际使用时发现有别的问题也可以在评论中留言。 您可能感兴趣的文章: AngularJs ng-repeat 嵌套如何获取外层$index AngularJS入门(用ng-repeat指令实现循环输出 AngularJS 获取ng-repeat动态生成的ng-model值实例详解 AngularJS ng-repeat数组有重复值的解决方法 Angularjs的ng-repeat中去除重复数据的方法 AngularJS使用ng-repeat指令实现下拉框 AngularJS实践之使用ng-repeat中$index的注意点 Angularjs中ng-repeat的简单实例 angularjs ng-repeat ng-model 相关文章 详解AngularJS 模态对话框 在涉及GUI程序开发的过程中,常常有模态对话框以及非模态对话框的概念。接下来通过本文给大家介绍AngularJS 模态对话框 ,感兴趣的朋友一起学习吧 2016-04-04 关于angular浏览器兼容性问题的解决方案 这篇文章主要给大家介绍了关于angular浏览器兼容性问题的解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者使用angular具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧 2020-07-07 angularjs自定义ng-model标签的属性 这篇文章主要介绍了angularjs自定义ng-model标签的属性的相关资料,需要的朋友可以参考下 2016-01-01 AngularJs IE Compatibility 兼容老版本IE 本文主要介绍AngularJs IE Compatibility 兼容老版本IE的问题及解决办法,有兴趣的小伙伴可以参考下 2016-09-09 Angularjs的键盘事件的绑定 这篇文章主要介绍了Angularjs的键盘事件的绑定的相关资料,这里提供了两种方法,1.ng内置指令,2.自定义指令,并进行比较,需要的朋友可以参考下 2017-07-07 详解Angular组件生命周期(一) 每个Angular版本在其生命周期中都经历了各个阶段。组件在Angular中起着关键作用; 在这里,本文将讨论Angular中的组件生命周期以及它们如何影响框架所有版本的生命周期。 2021-05-05 AngularJs Managing Service Dependencies详解 本站主要介绍AngularJs Managing Service Dependencies的知识资料,这里整理相关知识,及简单示例代码,有兴趣的小伙伴可以参考下 2016-09-09 AngularJS 获取ng-repeat动态生成的ng-model值实例详解 这篇文章主要介绍了AngularJS 获取ng-repeat动态生成的ng-model值实例详解的相关资料,这里提供实例代码及实现效果图,需要的朋友可以参考下 2016-11-11 详解Angular5 路由传参的3种方法 这篇文章主要介绍了详解Angular5 路由传参的3种方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 2018-04-04 AngularJS中的指令全面解析(必看) 下面小编就为大家带来一篇AngularJS中的指令全面解析(必看)。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 2016-05-05 最新评论

在ng-repeat中使用ng-model时会有许多问题,有的人碰到无法获取绑定的数据内容,有的人遇到改动绑定的数据内容时所有循环生成的内容一起改变。上面的问题我在开发时也遇到过,但是解决后我却怎么也还原不了那种情况了,只能先简单介绍一下无法获取的情景该如何解决。

例如:

html:

<body>
<div ng-controller="selectController">
  <div ng-repeat="pop in citylist">
    <select ng-model="p">
      <option value="" style="display:none;">{{pop.pop}}</option>
      <option value="北京">北京</option>
      <option value="上海">上海</option>
      <option value="广州">广州</option>
    </select>
    <button ng-click="cs()">ceshi</button>
  </div>
</div>
</body>

js:

<script>
  var app = angular.module('app', []);
  app.controller('selectController', function ($scope) {
    $scope.citylist=[{id:1,pop:"北京"},{id:1,pop:"上海"},{id:1,pop:"广州"}];
    $scope.cs=function(){
      console.log($scope.p);
    }
  })
</script>

很简单的功能,想要在点击更改按钮时获取select当前选中的数据内容,但是你会发现这样写只能得到undefined,此时有的人会提出可以将p赋予成为一个对象,通过key:value的方式来保存每一次的选择

$scope.p={};

这样确实没问题,但是会有一个新的问题那就是只要改动了一项,那么所有的内容都会跟着一起改变,那么有没有更好的方法呢?

只要一个小小的改动

html:

<button ng-click="cs(p)">ceshi</button>

js:

 $scope.cs=function(p){
      console.log(p);
    }

这只是个简单的例子,如大家在实际使用时发现有别的问题也可以在评论中留言。

您可能感兴趣的文章:

  • AngularJs ng-repeat 嵌套如何获取外层$index
  • AngularJS入门(用ng-repeat指令实现循环输出
  • AngularJS 获取ng-repeat动态生成的ng-model值实例详解
  • AngularJS ng-repeat数组有重复值的解决方法
  • Angularjs的ng-repeat中去除重复数据的方法
  • AngularJS使用ng-repeat指令实现下拉框
  • AngularJS实践之使用ng-repeat中$index的注意点
  • Angularjs中ng-repeat的简单实例
张贴在3