有角度的ng重复只显示最后一个元素.如果只有一个元素;我什么也不展示
Angular ng-repeat show only last element. If only one element, doesn't show anything
我正在实现一个动态表单。用户可以选择添加一个新表单和删除以前的表单。这是删除按钮的代码
<button type="button" ng-show="$last" class="btn btn-danger">Remove</button>
在这种情况下,如果只有一个表单,则删除按钮将显示在第一个表单上,如果有多个表单,将显示在最后一个表单上。
我的问题是,当只有一个表单时,我如何使删除按钮消失,而当有多个时,删除按钮将只显示到最后一个表单。
此外,我知道我可以使用ng-disable禁用第一个按钮,但我正在寻找一种方法,使删除按钮消失。
您可以像一样使用$first
和$last
<button type="button" ng-show="$last && !$first" class="btn btn-danger">Remove</button>
var app = angular.module('my-app', [], function() {})
app.controller('AppController', function($scope) {
$scope.array = [{}];
})
<link href="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/css/bootstrap.css" rel="stylesheet"/>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.js"></script>
<div ng-app="my-app">
<div ng-controller="AppController">
<button ng-click="array.push({})">Add</button>
<form ng-repeat="item in array">
<h3>Form {{$index}}</h3>
<button type="button" ng-show="$last && !$first" class="btn btn-danger" ng-click="array.splice(array.indexOf(item), 1)">Remove</button>
</form>
</div>
</div>
您应该使用ng-show/ng-hide来显示和隐藏按钮。使用控制器来确定何时显示/隐藏按钮
相关文章:
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 当知道同一hiearch中至少有一个元素时,遍历到元素.结构使用jquery
- 检查一个元素是否有一个类与另一个类总是返回true
- Lodash:返回对象的第一个键,该对象的值(即数组)中有一个给定的元素(即字符串)
- 如果循环中至少有一个元素返回 false,如何将变量设置为 false
- 我在Phaser有一个项目.我想在画布上的元素上做一个用户图像编辑器
- 如果所有单选框在jQuery中都有一个选择,则显示一个元素
- 在 CSS 中有一个单独的伪选择器,以显示有关一行中多个元素的信息
- 为什么 Angular 指令只能有一个根元素
- 我有一个函数,我只是想在滚动到特定元素时触发它
- 是否有一个 JQuery 插件可以在您向下滚动页面时保持元素不变
- 我在表单页面上有一个弹出窗口以及一个隐藏元素,具体取决于用户输入.两者都使用 jquery
- 我有一个带有选择的表单,可以创建元素.我怎么能做到这一点元素只创建一次
- JQuery:如何找出一个元素有多少个子元素
- 是否有一个函数可以在javascript中查找具有重复元素的子数组
- 当某个幻灯片在fullpage.js滑块中有一个活动类时,如何隐藏元素
- 如果元素有一个特定的类,不要应用CSS样式
- select元素有一个标准值属性
- 如果元素有一个要测试其名称的类,则显示该元素
- 如何检查某种类型的多少元素有一个页面与Chrome扩展开发