手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >angularjs在ng-repeat中使用ng-model遇到的问题
angularjs在ng-repeat中使用ng-model遇到的问题
摘要:在ng-repeat中使用ng-model时会有许多问题,有的人碰到无法获取绑定的数据内容,有的人遇到改动绑定的数据内容时所有循环生成的内容...

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

例如:

html:

<body> <div ng-controller="selectController"> <div ng-repeat="pop in citylist"> <select ng-model="p"> <option value="">{{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中使用ng-model遇到的问题】相关文章:

JavaScript中的blink()方法的使用

AngularJS身份验证的方法

使用Node.js处理前端代码文件的编码问题

JavaScript中的函数嵌套使用

Backbone.js的一些使用技巧

javascript生成不重复的随机数

JavaScript中的Math.SQRT1_2属性使用简介

在JavaScript中使用NaN值的方法

AngularJS中的一些常用指令介绍

详解AngularJS中的表达式使用

精品推荐
分类导航