angularjs - elasticui-使用ng-click触发排序仅在首次单击时触发

标签 angularjs elasticsearch

我试图通过创建两个按钮来使排序功能起作用:相关性和日期。

我通过以下方式进行设置:

<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的了解不足会使我对此简化了。有什么建议吗?

最佳答案

我怀疑您正在碰到AngularJS dot-problem,即:sort。规避此问题的一种方法是在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的功能仅用于初始化,因为值(true)不变。请注意,要引用“sorting:对象”,您必须位于eui-sort的范围内(即:位于div内)

关于angularjs - elasticui-使用ng-click触发排序仅在首次单击时触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24663850/

相关文章:

javascript - 如何从 Laravel View /模板目录提供单页 AngularJS 应用程序?

javascript - ng-pattern 不适用于数字输入

elasticsearch - 转义Elasticsearch查询时遇到麻烦

elasticsearch - 弹性如何在不同的日子汇总小时数

php - FOSElastica嵌套查询

django - 使用 elasticsearch-dsl DocType 映射配置

javascript - Angularjs - 动态页面,相同的模板,如何通过 id 访问和加载文章

javascript - var X=Y 仅在空格之前传输字符串。 Y = regex.exec(字符串);

javascript - 如何获取选中选项的数据

powershell - 配置 Elasticsearch