如何使用 ng-click 在块内呈现内容?
How to render content inside the block with ng-click?
我在前端设置了下拉按钮,现在我必须在单独的 content 块中显示我的数组,只有当下拉项被选中时。
我该怎么做?
这是我的 plunker
HTML
<div ng-controller="DropdownCtrl">
<div class="row">
<div class="col-md-12">
<ul class="content">
<li ng-repeat= 'task in tasks'>
</li>
</ul>
</div>
</div>
<!-- Here goes dropdown menu !-->
<div class="btn-group" dropdown="" is-open="status.isopen">
<button id="single-button" type="button" class="btn btn-default btn-xl" dropdown-toggle="" ng-disabled="disabled">
Options <span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="single-button">
<li role="menuitem">
<a href="javascript:void(false)" ng-click="show('tasks')">Display tasks</a>
</li>
</ul>
</div>
</div>
Js
var myApp = angular.module('myApp', ['ui.bootstrap']);
myApp.controller('DropdownCtrl', function ($scope) {
$scope.tasks = [
{title:'First Task'},
{title: 'Second Task'}
];
});
我建议您在每个任务元素中添加 selected
属性,这将显示当前元素是否已被选中。在此基础上,您可以在 selected
上进行过滤,同时在 tasks
上执行 ng-repeat
。
标记
<div class="col-md-12">
<div ng-show="filteredTask.length > 0">Below are selected Tasks</div>
<div ng-show="filteredTask.length == 0">No task selected</div>
<ul class="content">
<li ng-repeat= 'task in filteredTask = ( tasks | filter : {selected: true})'>
{{task.title}}
</li>
</ul>
</div>
<ul class="dropdown-menu" role="menu" aria-labelledby="single-button">
<li role="menuitem" ng-repeat="task in tasks">
<a href="javascript:void(false)" ng-click="task.selected = !task.selected">{{task.title}}</a>
</li>
</ul>
我在前端设置了下拉按钮,现在我必须在单独的 content 块中显示我的数组,只有当下拉项被选中时。
我该怎么做?
这是我的 plunker
HTML
<div ng-controller="DropdownCtrl">
<div class="row">
<div class="col-md-12">
<ul class="content">
<li ng-repeat= 'task in tasks'>
</li>
</ul>
</div>
</div>
<!-- Here goes dropdown menu !-->
<div class="btn-group" dropdown="" is-open="status.isopen">
<button id="single-button" type="button" class="btn btn-default btn-xl" dropdown-toggle="" ng-disabled="disabled">
Options <span class="caret"></span>
</button>
<ul class="dropdown-menu" role="menu" aria-labelledby="single-button">
<li role="menuitem">
<a href="javascript:void(false)" ng-click="show('tasks')">Display tasks</a>
</li>
</ul>
</div>
</div>
Js
var myApp = angular.module('myApp', ['ui.bootstrap']);
myApp.controller('DropdownCtrl', function ($scope) {
$scope.tasks = [
{title:'First Task'},
{title: 'Second Task'}
];
});
我建议您在每个任务元素中添加 selected
属性,这将显示当前元素是否已被选中。在此基础上,您可以在 selected
上进行过滤,同时在 tasks
上执行 ng-repeat
。
标记
<div class="col-md-12">
<div ng-show="filteredTask.length > 0">Below are selected Tasks</div>
<div ng-show="filteredTask.length == 0">No task selected</div>
<ul class="content">
<li ng-repeat= 'task in filteredTask = ( tasks | filter : {selected: true})'>
{{task.title}}
</li>
</ul>
</div>
<ul class="dropdown-menu" role="menu" aria-labelledby="single-button">
<li role="menuitem" ng-repeat="task in tasks">
<a href="javascript:void(false)" ng-click="task.selected = !task.selected">{{task.title}}</a>
</li>
</ul>