AngularJS指令与过滤器和颜色
AngularJS Directive with Filter and Color
我的模型中有一个简单对象列表(只包含名称):
var list = [{name: "Jane"}, {name: "Mary"}];
我在这里展示它们:
<table>
<tr data-ng-repeat="pers in list | filter: filter.label >
<td >
{{pers.name }}
</td>
</tr>
</table>
这很好。
我还有一个过滤器:
Name: <input type="text" data-ng-model="filter.name" />
我需要做的是用一些颜色标记过滤后的匹配:例如,如果你键入"A"符号,它应该显示搜索结果:Mary,Jane,其中子字符串"A"将为红色。我想我需要使用这些指令,但我没有太多的经验,我想知道是否有人能建议我如何实现这个结果?谢谢
您需要使用过滤器来提取匹配的搜索词,并将其替换为具有突出显示样式的标记。
<table>
<tr data-ng-repeat="pers in list | filter: filter.label" ng-bind-html="pers.name | highlight:filter.label">
<td >
{{pers.name }}
</td>
</tr>
</table>
你的过滤器看起来像这样:
.filter('highlight', function($sce) {
return function(text, phrase) {
if (phrase) text = text.replace(new RegExp('('+phrase+')', 'gi'),
'<span class="highlighted">$1</span>')
return $sce.trustAsHtml(text)
}
签出此演示并执行代码
相关文章:
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 高亮显示时编辑文本大小和颜色
- 用与线条相同的颜色填充多折线图上的点
- 更改使用Chart.js创建的图表中的轴线颜色
- 如何使用jquery更改html中的背景颜色
- 为什么我的d3.jsselectAll+过滤器没有过滤
- Angularjs-utils高亮过滤器在搜索时破坏应用程序
- 动态更改高图中的系列颜色
- Angular-表的多列过滤器
- 如何“;过滤器”;或者以其他方式重构该数据
- jsf中两个字符串的颜色代码差异
- 我们如何使用css或JavaScript在i/j上更改句点(点)的颜色
- d3.hexbin插件-动态定义颜色域以适应数据
- 将背景颜色和图像过滤器的组合应用于svg路径
- DC.js 应用过滤器后热图颜色范围未更新
- EaseJS将颜色过滤器应用于位图
- AngularJS指令与过滤器和颜色
- 如何改变图标或图标的颜色在剑道ui网格过滤器
- 使用JavaScript构建SVG颜色阴影过滤器时失败
- 如何在magento 1.8中为可配置产品创建颜色和显示颜色属性过滤器