javascript - ng-repeat 基于点击的数据切换

标签 javascript html angularjs frontend

你好,我是 Angular js 新手

是否可以在不更改 dom 的情况下在点击时进行 ng-repeat 数据更改?

see Example

在此示例中 - 当单击“名称”选项卡时,显示“名称”数组中的名称列表,与单击“ids”选项卡然后将内容替换为 ids 列表时相同

是否可以从具有相同 dom 元素的 Controller 进行管理?

<div class="select"><span class="active">Names</span> <span>ID</span></div>
<ul ng-app="myApp" ng-controller="testController">
    <li ng-repeat="name in names">{{name.name}}</li>
</ul>

var myApp = angular.module('myApp', []);

myApp.controller('testController', function ($scope) {
    $scope.names = [
        {name : 'nameOne'},
        {name : 'nameTwo'},
        {name : 'nameThree'},
        {name : 'nameFour'},
        {name : 'nameFive'}
    ];

       $scope.IDs = [
        {id : 'idOne'},
        {id : 'idTwo'},
        {id : 'idThree'},
        {id : 'idFour'},
        {id : 'idFive'}
    ];    

});

谢谢

最佳答案

你可以尝试这样的事情

<div class="select"><span class="active" ng-click="changeToName()">Names</span> <span ng-click="changeToID()">ID</span></div>
<ul ng-app="myApp" ng-controller="testController">
    <li ng-repeat="name in myRepeat">{{ (name.name || name.id) }}</li>
</ul>

在 Controller 中

  //default empty - but you could set it to a default like $scope.myRepeat = $scope.names;
  $scope.myRepeat = [];

 $scope.changeToName = function(){
     $scope.myRepeat = $scope.names;
 };

   $scope.changeToID = function(){
     $scope.myRepeat = $scope.IDs;
 };

我只是在 $scope.myRepeat 之间放置了一个不同的作用域变量来重复数据,您可以通过一些点击功能切换其中的数据。您可以将其默认为 $scope.names 作为其值,也可以将其默认为空数组,具体取决于您希望如何使用它。

FIDDLE - http://jsfiddle.net/8s4afddv/2/

关于javascript - ng-repeat 基于点击的数据切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31300255/

相关文章:

javascript - HTML5/Javascript 网络音频 api - SoundManager

javascript - AngularJS:从 Controller 函数绑定(bind)属性值

javascript - 将 Angular 元素绑定(bind)到 Controller 外部的范围

javascript - 在桌面和移动设备中排列具有相同 id 的 div

jquery - Masonry jQuery 插件不适合我

javascript - 有没有办法从 AngularJS 指令中获取外部 Controller 名称?

javascript - 是否有 HQMF 到 QRDA cat 3 计算的简单示例?

javascript - 如何从每个返回的div中获取div id?

javascript - 过滤搜索结果

javascript - Highcharts无法隐藏饼图数据标签