我正在尝试根据输入文本订购anguarjs中的项目列表,因此如果我在输入“author”中写入该列表将由作者订购
我的代码就是这个
for($i = $startCounter; $i <= $loopcounter; $i++)
{
if ($_GET['page'] == $i) {
$pagination .= '<li><span class="current">' . $i . '</span></li>';
} else {
$pagination .= '<li><a href="'. $agencyurl .'/search/'. $_REQUEST['bed'] .'/'. $i .'/'. $_REQUEST['perpage'] .'/'. $_REQUEST['area'] .'">'. $i .'</a></li>';
}
}
它不起作用,我已经搜索但找不到这种例子。
答案 0 :(得分:5)
您必须在控制器中定义变量:
<input type="text" ng-model="dishDetailCtrl.sort">
然后,您必须定义ng-model指令以将输入值绑定到此变量:
<div class="well" ng-repeat="comments in dishDetailCtrl.dish.comments | orderBy: dishDetailCtrl.sort">
然后你可以应用过滤器:
{{1}}
答案 1 :(得分:1)
您的代码中存在一个非常小的错误。 orderBy
表达后应该没有空格。
<li ng-repeat = "comment in dishCtrl.dish.comments | orderBy:sort">
如果上面没有工作尝试,请将其放在单引号中,例如 'sort'
答案 2 :(得分:0)
您需要在此输入上绑定一个操作,它可以是简单的ng-enter指令或提交按钮。
答案 3 :(得分:0)
因为您正在使用控制器作为语法,正如我从ng-repeat中看到的那样,更改
<input type = "text" ng-model = "sort">
到
<input type = "text" ng-model = "dishCtrl.sort">
还要更新ng-repeat:
<li ng-repeat = "comment in dishCtrl.dish.comments | orderBy: dishCtrl.sort">