我尝试通过创建两个按钮来实现排序功能:相关性和日期。
我已按以下方式进行设置:
<div ng-init="sort=false">
<a ng-click="sort=true">Date</a>
<a ng-click="sort=false">Relevance</a>
然后在容器上显示结果:
<div eui-sort="ejs.Sort('post_date').order('desc')" eui-enabled="sort" >
使用ng-init
设置的值会正确影响初始排序顺序,当我点击date
列表按预期排序时,但当我点击relevance
时,列表不会重新排序好像eui-enabled
设置为false
。
我猜测Angular的知识不足导致我过度简化这一点。有什么建议吗?
答案 0 :(得分:1)
我怀疑你正在遇到AngularJS dot-problem,即:那种。避免这种情况的一种方法是在eui-sort范围内修改sorting.sort:
<div eui-sort="ejs.Sort('post_date').order('desc')" eui-enabled="true">
<a ng-click="sorting.enabled=true">Date</a>
<a ng-click="sorting.enabled=false">Relevance</a>
</div>
在此示例中,eui-enabled仅用于初始化,因为值(true)不会更改。请注意,要引用&#34; sorting:对象,您必须在eui-sort的范围内(即:div内)