Javascript 根据输入文本按元素排序,AngularJS
我正试图根据输入文本在anguarjs中对项目列表进行排序,因此如果我在输入中写入“author”,列表将按author排序 我的密码是Javascript 根据输入文本按元素排序,AngularJS,javascript,angularjs,Javascript,Angularjs,我正试图根据输入文本在anguarjs中对项目列表进行排序,因此如果我在输入中写入“author”,列表将按author排序 我的密码是 <input type = "text" ng-model = "sort"> <ul class = "list-unstyled"> <li ng-repeat = "comment in dishCtrl.dish.comments | orderBy: sort"> <blockqu
<input type = "text" ng-model = "sort">
<ul class = "list-unstyled">
<li ng-repeat = "comment in dishCtrl.dish.comments | orderBy: sort">
<blockquote class = "blockquote">
<p>{{comment.rating}} Stars </p>
<p>{{comment.comment}}</p>
<footer>{{comment.author}}, {{comment.date | date}</footer>
</blockquote>
</li>
-
{{comment.rating}}星星
{{comment.comment}
{{comment.author},{{comment.date | date}
它不起作用,我已经搜索过了,但找不到这种示例。您的代码中有一个很小的错误。
orderBy
表达式后面应该没有空格
<li ng-repeat = "comment in dishCtrl.dish.comments | orderBy:sort">
如果上述操作不起作用,请尝试将其放在单引号中,如“排序”您需要在此输入上绑定一个操作,它可以是简单的ng enter指令或提交按钮。因为您使用的是控制器作为语法,正如我从ng repeat中看到的,请更改
<input type = "text" ng-model = "sort">
到
并更新您的ng repeat:
<li ng-repeat = "comment in dishCtrl.dish.comments | orderBy: dishCtrl.sort">
您必须在控制器中定义变量:
var sort = '';
然后,您必须定义ng model指令以将输入值绑定到此变量:
<input type="text" ng-model="dishDetailCtrl.sort">
然后您可以应用过滤器:
<div class="well" ng-repeat="comments in dishDetailCtrl.dish.comments | orderBy: dishDetailCtrl.sort">
您好,它现在可以运行了,非常感谢,我用这种方式尝试过,就像我下面的人说的,非常感谢Hanks,我不认为空间会导致我的程序无法正确运行。我多次遇到这个空间问题。很高兴为您提供帮助:)
<div class="well" ng-repeat="comments in dishDetailCtrl.dish.comments | orderBy: dishDetailCtrl.sort">