gpt4 book ai didi

javascript - Aurelia get value conventer results in View

转载 作者:可可西里 更新时间:2023-11-01 02:41:05 25 4
gpt4 key购买 nike

我想获得在我的 View 中过滤数组的值转换器的结果,以便显示找到的结果数。

  <div repeat.for="d of documents|docfilter:query:categories">
<doc-template d.bind="d"></doc-template>
</div>

我既不想将此逻辑移至我的 Controller (以保持其清洁),也不想添加诸如从值 Controller 返回一些数据之类的辅助手段。

我想要的:

所以,基本上我想要像 angular offers 这样的东西:如图所示here :ng-repeat="item in filteredItems = (items | filter:keyword)"here : ng-repeat="item in items | filter:keyword as filteredItems"

我得到的:

不幸的是,在 Aurelia:

d of filteredDocuments = documents|docfilter:query:categories

实际上意味着 d of filteredDocuments = documents |docfilter:query:categories,如果我添加方括号或 as,它不会运行(因解析器错误而失败)。

那么,

是否有一种干净的方法可以从 View 中的数据过滤器中获取数据?

最好的问候,亚历山大


UPD 1:当我谈到从值 Controller 返回一些数据时,我的意思是:

export class DocfilterValueConverter {
toView(docs, query, categories, objectToPassCount) {
...
objectToPassCount.count = result.length;
...
});
});

UPD 2. 实际上,我错了:d of filteredDocuments = documents |docfilter:query:categories。它没有解决问题,但这段代码的作用是:

1) filteredDocuments = documents |docfilter:query:categories 初始化2) d of filteredDocuments 这是在最开始的数组中对 filtered 的重复

最佳答案

假设您有一个外部元素,您可以将过滤后的项目填充到一个临时属性中,如下所示:

<!-- assign the filtered items to the div's "items" property: -->
<div ref="myDiv" items.bind="documents | docfilter : query : categories">

<!-- use the filtered items: -->
<div repeat.for="d of myDiv.items">
<doc-template d.bind="d"></doc-template>
</div>

</div>

我知道这不是您要找的东西,但它可以胜任。我正在研究添加 let 是否有帮助绑定(bind)命令- 像这样:<div let.foo="some binding expression">

编辑

这里有一些更好的东西: https://gist.run/?id=1847b233d0bfa14e0c6c4df1d7952597

<template>
<ul with.bind="myArray | filter">
<li repeat.for="item of $this">${item}</li>
</ul>
</template>

关于javascript - Aurelia get value conventer results in View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33676138/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com