空字符串上的AngularJS筛选器
我有一个简单的角度过滤器之间的选择和列表设置。当用户从下拉列表中选择项目时,列表将更新以显示匹配结果。问题是我有一个选择。。。在下拉列表中选择第一个选项,不带任何值,当该值为选定值时,将显示所有项目。我想这是有道理的,但我想要相反的结果。如果所选选项没有值,我不想显示列表。以下是一些相关位,后面是指向完整小提琴的链接: 下拉列表:空字符串上的AngularJS筛选器,angularjs,filtering,Angularjs,Filtering,我有一个简单的角度过滤器之间的选择和列表设置。当用户从下拉列表中选择项目时,列表将更新以显示匹配结果。问题是我有一个选择。。。在下拉列表中选择第一个选项,不带任何值,当该值为选定值时,将显示所有项目。我想这是有道理的,但我想要相反的结果。如果所选选项没有值,我不想显示列表。以下是一些相关位,后面是指向完整小提琴的链接: 下拉列表: <select class="world-list" ng-model="selectedWorld" ng-options="world.worldId as
<select class="world-list" ng-model="selectedWorld" ng-options="world.worldId as world.worldName for world in allWorlds">
<option value="">Select...</option>
</select>
名单如下:
<ul class="unstyled" id="charList">
<li ng-repeat="char in characters | filter:selectedWorld">
<a href="#" class="btn btn-block" ng-click="selectChar()">{{char.charName}} - {{char.charRace}} {{char.charClass}}</a>
</li>
</ul>
这里有一个指向full fiddle的链接,其中包含我的JSON结构,它驱动了所有这些:
我想做的很简单,而且我对Angular很陌生,所以我确信我遗漏了一些明显的东西。检查了Jabbr房间,无人值班:
无论如何,谢谢你的帮助 > P>我注意到在您的代码脚本中,JS似乎不考虑空白选项。
我没有测试这个,我可能应该在提出这个答案之前,但是应该把空白选项放在你的脚本中。JS.<
app.controller('WorldCtrl', function ($scope, $http) {
$scope.allWorlds = [{
worldId: "",
worldName: ""
},
{
worldId: "b8ee0530-744b-463e-9428-23178f6c7bff",
worldName: "World 1"
},
{
worldId: "81211982-5613-4f9c-b704-7b6fa35faf84",
worldName: "World 2"
},
{
worldId: "df41208e-e8d2-46c9-8299-8f37632a51f8",
worldName: "World 3"
}];
$scope.characters = [{
charClass: "Rogue",
charName: "Vaes",
charRace: "Human",
worldId: "b8ee0530-744b-463e-9428-23178f6c7bff"
},
{
charClass: "Warrior",
charName: "Azash",
charRace: "Orc",
worldId: "b8ee0530-744b-463e-9428-23178f6c7bff"
},
{
charClass: "Mage",
charName: "Anele",
charRace: "Ogre",
worldId: "81211982-5613-4f9c-b704-7b6fa35faf84"
}];
});
实现这一点的一种方法是根据迭代对象的特定属性进行过滤:
<ul class="unstyled" id="charList">
<li ng-repeat="char in characters | filter:{worldId: selectedWorld}">
<a href="#" class="btn btn-block" ng-click="selectChar()">{{char.charName}} - {{char.charRace}} {{char.charClass}}</a>
</li>
</ul>
工作得很有魅力!谢谢你,斯图在1.1.5版本中,这将不再有效-这是1.1.5版本中的一个分支,它不会接受我的编辑,因为这只是一个间距问题,但在最后一行和app.controller行之前添加四个空格或一个制表符以修复格式。是的,在发布答案之前进行测试通常是一件好事: