Angularjs:将数据从<select>传输到列表

时间:2016-02-18 22:37:23

标签: javascript html angularjs firebase angularfire

在angular中,如何在保持相同功能和数据的同时将此选择更改为列表? &lt; select ng-if =&#34; main.fbWriteup.data&#34;           命名=&#34; selectGroup&#34;           类=&#34;形状控制&#34;           NG-模型=&#34; main.selectedGroup&#34;           ng-options =&#34; key作为main.fbWriteup.data&#34;中的(key,group)的键。           NG-变化=&#34; main.selectedMessage = -1&#34;&GT;   &LT; /选择&GT;&LT峰; br /&GT; 这是我的完整代码:http://codepen.io/Zancrash/pen/KVYdqP/ 您可以添加组,添加的组将显示在下拉菜单中。但我希望所有这些都显示为列表项。

1 个答案:

答案 0 :(得分:0)

好的,我想我知道你在找什么。

我创建了一个新的演示小提琴,因为你的代码难以阅读。

只需使用ng-repeat循环播放您的论坛列表,然后添加ng-click即可选择论坛。

请查看下面的演示或此fiddle

angular.module('demoApp', [])
	.controller('mainController', MainController);
  
function MainController($scope) {
	var vm = this,
  		defaultEntries = [{
    			id: 0,
    			name: 'group1'
    		},{
    			id: 1,
    			name: 'group2'
    }];
	angular.extend(vm,	{
  	groups: defaultEntries,
    selectedGroup: defaultEntries[0],
    addGroup: function() {
      var newGroupName = prompt('enter group name'),
      		newItem = {id: vm.groups.length+1, name: newGroupName}
      vm.groups.push(newItem);
      vm.selectedGroup = newItem; // select new item
  	}
  });
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="demoApp" ng-controller="mainController as ctrl">
<button ng-click="ctrl.addGroup()">
Add Group
</button>

<select ng-model="ctrl.selectedGroup" ng-options="group as group.name for group in ctrl.groups"></select>
group selected: {{ctrl.selectedGroup}}

<h1>
Group list
</h1>
<ul>
  <li ng-repeat="group in ctrl.groups"><a href="#" ng-click="ctrl.selectedGroup = group">{{group.name}}</a></li>
</ul>
</div>