angularjs在ng-repeat中使用ng-model遇到的问题

 更新时间:2016年01月21日 10:50:08   投稿:hebedich  
本文给大家分享了一个个人在使用angular过程中遇到的在ng-repeat中使用ng-model的问题,并附上简单的解决办法,希望能对大家学习angular有所帮助

在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 动态加载模块和依赖

    AngularJs 动态加载模块和依赖

    这篇文章主要介绍了AngularJs 动态加载模块和依赖方法的相关资料,需要的朋友可以参考下
    2016-09-09
  • AngularJS入门教程之Cookies读写操作示例

    AngularJS入门教程之Cookies读写操作示例

    这篇文章主要介绍了AngularJS的Cookies读写操作,结合实例形式分析了ngCookies模块与get和put方法进行cookie读写操作的相关实现技巧,需要的朋友可以参考下
    2016-11-11
  • Angular2中监听数据更新的方法

    Angular2中监听数据更新的方法

    今天小编就为大家分享一篇Angular2中监听数据更新的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-08-08
  • AngularJS+bootstrap实现动态选择商品功能示例

    AngularJS+bootstrap实现动态选择商品功能示例

    这篇文章主要介绍了AngularJS+bootstrap实现动态选择商品功能,涉及AngularJS指令、事件响应及页面元素动态操作相关技巧,需要的朋友可以参考下
    2017-05-05
  • Angular.js初始化之ng-app的自动绑定与手动绑定详解

    Angular.js初始化之ng-app的自动绑定与手动绑定详解

    这篇文章主要给大家介绍了关于Angular.js初始化之ng-app的自动绑定与手动绑定的相关资料,文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
    2017-07-07
  • AngularJS使用ng-Cloak阻止初始化闪烁问题的方法

    AngularJS使用ng-Cloak阻止初始化闪烁问题的方法

    这篇文章主要介绍了AngularJS使用ng-Cloak阻止初始化闪烁问题的方法,结合实例形式分析了AngularJS使用ng-Cloak来解决初始化时出现闪烁问题的相关技巧,需要的朋友可以参考下
    2016-11-11
  • Angular2管道Pipe及自定义管道格式数据用法实例分析

    Angular2管道Pipe及自定义管道格式数据用法实例分析

    这篇文章主要介绍了Angular2管道Pipe及自定义管道格式数据用法,结合实例形式详细分析了Angular2管道与纯管道相关概念、语法及使用技巧,需要的朋友可以参考下
    2017-11-11
  • Angularjs上传图片实例详解

    Angularjs上传图片实例详解

    上传图片需要引入插件ngFileUpload,使用bower安装方法,下面通过本文给大家介绍Angularjs上传图片实例详解,希望对大家有所帮助
    2017-08-08
  • 浅谈Angular4中常用管道

    浅谈Angular4中常用管道

    本篇文章主要介绍了Angular4中常用管道,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • 深入浅析AngularJS中的module(模块)

    深入浅析AngularJS中的module(模块)

    我们所说的模块,是你的AngularJS应用程序的一个组成部分,它可以是一个Controller,也可以是一个Service服务,也可以是一个过滤器(Filter),也可以是一个directive(指令)等等…都是属于一个模块,本文给大家介绍AngularJS中的module(模块) ,感兴趣的朋友一起学习吧
    2016-01-01

最新评论