• 如何用angularjs制作一个完整的表格之三__在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="" 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);
            }

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

  • 相关阅读:
    题解 POJ1149 Pigs
    题解 【网络流24题】运输问题
    题解 【网络流24题】太空飞行计划
    题解 【网络流24题】方格取数问题
    题解 密码锁
    题解 【重庆八中模拟赛】寻找代表元
    题解 [SHOI2010]最小生成树
    题解 【ZJOI2009】 假期的宿舍
    题解 [ZJOI2008]树的统计Count
    JSP页面中的pageEncoding和contentType两种属性(转)
  • 原文地址:https://www.cnblogs.com/weblv/p/5146988.html
Copyright © 2020-2023  润新知