Javascript “违约”;“全部”;选项不适用于ng选项选择列表
我使用的是嵌套组件结构,在使用ng选项生成的选择列表时,无法使用默认的“All”选项。我在本页底部添加了一个plunker。如果检查生成列表的范围,我会看到“All”返回的是Javascript “违约”;“全部”;选项不适用于ng选项选择列表,javascript,angularjs,Javascript,Angularjs,我使用的是嵌套组件结构,在使用ng选项生成的选择列表时,无法使用默认的“All”选项。我在本页底部添加了一个plunker。如果检查生成列表的范围,我会看到“All”返回的是null,而不是空字符串。普朗克补充如下 var-app=angular.module('plunker',[]); 应用程序组件('keyfeed'{ 绑定:{ 搜索:'=' }, 模板:` {{record.name} `, 控制器:功能($scope){ $scope.records=[ { “姓名”:“阿尔弗雷
null
,而不是空字符串。普朗克补充如下
var-app=angular.module('plunker',[]);
应用程序组件('keyfeed'{
绑定:{
搜索:'='
},
模板:`
- {{record.name}
`,
控制器:功能($scope){
$scope.records=[
{
“姓名”:“阿尔弗雷德·斯法特基斯特”,
“id”:“1”,
“标记”:“标记1”
},
{
“姓名”:“Berglunds snabbköp”,
“id”:“2”,
“标记”:“标记1”
},
{
“名称”:“商业中心Moctezuma”,
“id”:“3”,
“标记”:“标记2”
},
{
“名称”:“恩斯特·汉德尔”,
“id”:“4”,
“标记”:“标记2”
}
];
}
});
应用程序组件('搜索'{
绑定:{
搜索:'='
},
模板:`
全部的
`,
控制器:功能($scope){
此参数为.tags=[
{
“工业贸易署”:“1”,
“名称”:“tag1”
},
{
“工业贸易署”:“2”,
“名称”:“tag2”
}
];
}
});代码>
安古拉斯普朗克
试试这个:
你会注意到两件事:
1) select中的代码需要变成ng options=“tag.tid as tag.name for tags in tags”
(不是$ctrl.tags
,因为tags
数组绑定到组件$scope
)
2) “所有”选项添加到下拉列表中,带有tid='
。将空字符串与过滤器组合使用:{tag:$ctrl.search}
将匹配所有内容。在记录的另一个属性中有一个tid
的情况下,最好告诉过滤器也只匹配记录标记。您链接的plunker的功能与您所说的不一样。标记没有显示,因此无法选择“全部”。更新的plunker@Kenmaybe添加一个ng init=“$ctrl.search=”,默认情况下选择空选项。很好的调用,完成了-默认的“全部”选项更清晰我希望有一个选项,我不必将全部作为选项添加到JSON中。不这样做有什么想法吗@Nathanbeck试试这个-我不确定你到底想如何清除标记搜索,但是你得到$ctrl.search=''
的任何方法都会奏效。这个plunk使用了一个简单的可点击链接,但实际上你可以做任何事情