【发布时间】:2014-09-02 22:33:51
【问题描述】:
我对 angularjs 很陌生,所以我不确定我正在尝试做的事情是否正确。基本上我想在我的页面中显示一个嵌套对象和一个过滤器,这样用户可以轻松地在输入上键入关键字并过滤内容,只显示过滤器找到的记录
但是我注意到过滤器获取了整个父对象并且我希望只显示记录,所以使用以下代码,如果我搜索日本,它将显示悉尼、墨尔本和洛杉矶。
Javascript
<script type="text/javascript">
var demoApp = angular.module('demoApp',['ngSanitize']);
demoApp.controller('simpleC',['$scope', function ($scope){
$scope.info = [
{name: 'Documents',links: [
{linkname:'title1',linknamesublink:[
{namesublink:'document 1', description: 'Sydney'},
{namesublink:'document 2', description: 'Tokyo <b>Japan</b>'}
]},
{linkname:'title2',linknamesublink:[
{namesublink:'document 3', description: 'Melbourne'},
{namesublink:'document 4', description: 'Los Angeles'}
]}
]},
{name: 'Video',links: [
{linkname:'title1',linknamesublink:[
{namesublink:'video 1', description: 'California'},
{namesublink:'video 2', description: 'San Francisco <b> USA</b>'}
]},
{linkname:'title2',linknamesublink:[
{namesublink:'video 3', description: 'South America'},
{namesublink:'video 4', description: 'Northern <b>Europe</b>'}
]},
{linkname:'title3',linknamesublink:[
{namesublink:'video name 5', description: 'Africa'},
{namesublink:'video name 6', description: 'Bangkok <b>Thailand</b>'}
]}
]},
];
}]);
</script>
html:
<div class="container" ng-app="demoApp">
<br /><input type="text" class="form-control" ng-model="search" >
<div ng-controller="simpleC">
<div ng-repeat="i in info | filter:search" >
{{i.name}} :
<div ng-repeat="link in i.links">
{{link.linkname}}
<div ng-repeat="sublink in link.linknamesublink">
{{sublink.namesublink}}: <!--{{sublink.description}}-->
<span ng-bind-html="sublink.description"></span>
</div>
</div>
</div>
</div>
</div>
【问题讨论】:
-
您是否正在尝试实现自动完成功能?您可以考虑使用此链接上解释的
typeahaed指令:angular-ui.github.io/bootstrap -
对于对这个问题投反对票的人(如果回来阅读它),你能否提供一个投反对票的理由,如果它是重复问题或对你来说太简单的问题,请提供一个解决方案。
标签: angularjs angularjs-ng-repeat