【发布时间】:2015-07-20 08:50:58
【问题描述】:
我有一个应用程序,它有两个表单,一个是按钮列表,一个是带有标签列表的表单。我选择一个人,选择一个电话,然后在第三个表格中显示电话列表及其相关人员(位置)。是否可以在 ng-repeat 块内设置带有 ng-click 的变量?我尝试将变量_person 设置为等于按钮文本,即{{person}},但是当我在下一个表单上打印它时,_person 似乎没有设置任何内容。我也不确定我在第一个<div> 中是否正确使用了ng-init,我应该使用ng-model 吗?
<div ng-init="showSelectUser=true; _person=''">
<div class="selectUser" ng-show="showSelectUser">
<h2>Who are you?</h1>
<ul ng-click="showSelectUser=false; showDeviceForm=true;">
<li ng-repeat="person in people">
<a href="#" role="button" ng-click="_person={{person}}">{{person}}</a>
</li>
</ul>
</div>
<div class="selectDevice" ng-show="showDeviceForm" ng-click="showDeviceForm=false; showDeviceList=true">
<p>person: {{_person}}</p>
<h2>Which phone?</h2>
<ul>
<li ng-repeat="device in devices">
<a class="btn btn-default" href="#" role="button" ng-click="device.location=_person">{{device.name}}</a>
</li>
</ul>
</div>
<div class="devicesView" ng-show="showDeviceList">
<ul>
<li ng-repeat="device in devices">
<h3>{{device.name}}</h3>
<h4 class="deviceLocation">{{device.location}}</h4>
</li>
</ul>
</div>
</div>
angular.module('devicesApp')
.controller('MainCtrl', function ($scope) {
$scope.devices = [
{name: 'iPhone 4', location: 'Desk'},
{name: 'iPhone 5', location: 'Desk'},
{name: 'iPhone 6', location: 'Desk'},
];
$scope.people = [
'John',
'Scott',
'Adam'
];
});
【问题讨论】:
标签: javascript html angularjs angularjs-ng-repeat angularjs-ng-click