如何在AngularJS中的INIT中排序元素

时间:2015-04-02 12:27:02

标签: angularjs angularjs-directive angularjs-ng-repeat

好的,在这里你们走吧。

我正在学习Angular并想知道如何订购商品(字符串数组)。我知道使用控制器等有不同的方法,但我刚开始从今天开始学习它。

想知道是否有办法订购名字?我知道如果有的话,orderBy可以应用于对象数组中的属性名称,但是将它放在ng-repeat中。

但是如何在我的代码中实现呢?

编辑:我在页面加载时的初始显示以及用户在过滤时在文本框中键入内容时都需要顺序。

<html data-ng-app="">
<head>
    <title></title>
</head>
<body data-ng-init="names=['Sita','Ram', 'Amit','Cat','Boushick' ] ">
    <input type="text" name="txtName" data-ng-model="typedName" />
    <br />
    Typed Name is: {{ typedName }}
    <br />
    Names:
    <ul |orderBy:'names' >
        <li data-ng-repeat="personName in names | filter:typedName "> {{ personName | uppercase}}

        </li>
    </ul>
    <script src="Scripts/angular.min.js"></script>
</body>
</html>

2 个答案:

答案 0 :(得分:3)

是使用orderBy

<li data-ng-repeat="personName in names | orderBy:personName | filter:typedName "> ...

这是Demo Plunker

答案 1 :(得分:2)

在过滤前使用orderBy:'toString()':)

<li data-ng-repeat="personName in names | orderBy:'toString()'|filter:typedName "> {{ personName | uppercase}}

这是Plunker