Angularjs -让按钮像复选框一样
Angularjs - Making a button behave like a checkbox
我试图让ngstyle为用户提供一个简单的界面列表视图,并且遇到了一个问题,有人可以帮助解决。
我试图使用ngstyle和ngmodel来改变样式和隐藏图标,当一个按钮被点击,理想情况下,我想要一个按钮,允许你切换列表和平铺视图模式。
这是当前的复选框系统(它很笨拙,不友好,但可以工作)。
<p style="color:black; font-size:14px; margin-left:50px;" class="label">List View
<input type="checkbox" ng-model="visible" aria-label="Toggle ngShow" style="margin-left:5px;" ng-click="myStyle={width:'100%', height:'30px', 'text-align':'left', top:'7px', 'font-size':'14px'}">
</p>
<p style="color:black; font-size:14px;" class="label">Tile View
<input type="button" ng-model="unchecked" aria-label="Toggle ngShow" style="margin-left:5px;" ng-click="myStyle={}">
</p>
下面是我对图标所做的,这样当选中图标时它们就会隐藏起来:
.hideItem {
visibility: hidden;
}
<i ng-class="{'hideItem': visible}" class="icon fa fa-bookmark-o"></i>
我需要的是最好是一个按钮,即"更改视图",它完成了我在这里实现的相同任务,但更容易。
任何帮助或建议都将是非常感激的。
提前致谢
你可以直接使用ng-show,因为它是Angular内置的一个指令,用于在两个按钮之间切换状态——平铺视图按钮和列表视图按钮。可以通过表达式
来切换显示的内容。<button type="button" ng-model="unchecked" ng-show="expression" ng-click="changeView()">List View</button>
<button type="button" ng-model="unchecked" ng-show="expression" ng-click="changeView()">Title View</button>
ng-show中的表达式如果为真将显示按钮,如果为假将隐藏按钮。您可以在每个按钮标签中使用相同的表达式,只需使用!
反转表达式即可。在Javascript中,您可以使用changeView()
将表达式切换到/from true下面是ng-show的文档链接:https://docs.angularjs.org/api/ng/directive/ngShow
最终使用ng-class:
<ul uib-dropdown-menu role="menu" aria-labelledby="simple-btn-keyboard-nav" class="dropdown-menu">
<li role="menuitem"><a ng-click="tog=1" style="text-transform: initial;" uib-tooltip="New List View" ng-model="tileView">List View</a>
<!--a(ng-click="myStyle={width:'100%', height:'30px', 'text-align':'left', top:'5px', 'font-size':'14px', 'margin-left':'5px',}" style="text-transform: initial;", uib-tooltip="New List View", ng-model="listView") List View-->
</li>
<li role="menuitem"><a ng-click="tog=2" style="text-transform: initial;" uib-tooltip="Original Tiled View" ng-model="tileView">Tile View</a></li>
</ul>
并使用以下代码进行绑定:
<a uib-tooltip="{{item.Title}}" ng-repeat="item in linkList = (WorkspaceCtrl.workspaceLinkStore.list | filter:{Active:true} | limitTo:WorkspaceCtrl.itemsPerCategory)" ng-href="{{item.Url}}" target="_blank" ng-class="{items:tog==1}" class="item">
<p class="title">{{item.Title}}</p></a>
相关文章:
- 如何在angularJS中编辑时,如果DB中的值为true,则设置复选框,如果值为false,则取消选中复选框
- 正在验证8个真/假复选框或复选框中的2个
- 为复选框javascript指定两个值
- 如何在单击复选框后调用控制器方法
- 从复选框和Selects-KnockoutJS中获取值的总和
- 选中多个具有相同名称的复选框
- 使用Jquery选择或取消选择ListView中的所有复选框
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 使用$.ajax发布多个复选框
- AngularJS单选筛选不适用于Name、Description和Field4复选框值
- 使用jquery选中/取消选中单个复选框
- 使按钮像复选框一样工作,挖空js
- 如何使图像地图的区域像复选框一样
- Angularjs -让按钮像复选框一样
- 像单选按钮一样的复选框|使用icheck.js
- 如何选中复选框(就像手动选中一样)
- 复选框onclick事件加载,就好像选中了一样
- 复选框像单选按钮一样工作,但不会改变UI组件
- 像单选按钮一样的复选框功能
- 使复选框可以像单选按钮一样一次选择一个