如何扩展或覆盖 AngularJS 中现有的过滤器?

2023-12-20

是否可以扩展现有的“标准”过滤器(date, number, lowercaseETC)? 就我而言,我需要从 YYYYMMDDhhmmss 格式解析日期,所以我想扩展(或覆盖)date过滤而不是我自己写。


我更喜欢实施装饰器模式 http://en.wikipedia.org/wiki/Decorator_pattern,这在 AngularJS 中非常简单。
如果我们以 @pkozlowski.opensource 为例,我们可以将其更改为:

 myApp.config(['$provide', function($provide) {
  $provide.decorator('dateFilter', ['$delegate', function($delegate) {
    var srcFilter = $delegate;

    var extendsFilter = function() {
      var res = srcFilter.apply(this, arguments);
      return arguments[2] ? res + arguments[2] : res;
    }

    return extendsFilter;
  }])
}])

然后在您的视图中,您可以使用...标准输出和扩展行为。
使用相同的过滤器

<p>Standard output : {{ now | date:'yyyyMMddhhmmss' }}</p>
<p>External behavior : {{ now | date:'yyyyMMddhhmmss': ' My suffix' }}</p>

这是一个说明这两种技术的工作小提琴:http://jsfiddle.net/ar8m/9dg0hLho/ http://jsfiddle.net/ar8m/9dg0hLho/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何扩展或覆盖 AngularJS 中现有的过滤器? 的相关文章

  • 角度 ui-grid 自定义标题 html

    我正在尝试将 glyphicon glyphicon thlist 我可以单击并调用控制器函数 添加到默认标题的左侧 我采用了默认标头并尝试操纵它来执行此操作 默认标头位于 https raw githubusercontent com a
  • 如何在单元测试中的请求之间更改 $httpBackend when[method] 语句?

    在我的测试中 我启动一些模型数据并模拟响应 beforeEach function var re new RegExp http users online httpBackend whenGET re respond id 12345 us
  • 如何使用 KendoUI 网格设置 CURD 以与 Kendo-Angular 和 Angular OData 工厂一起使用?

    在之前的项目中 我没有使用 Angular 我设置了一个Kendo DataSource使用 OData 端点 如下所示 var userDS new kendo data DataSource type odata transport r
  • 如何使用 Angular 创建 n 个可打印页面?

    嗯 我搜索了一下 没有找到类似的东西 我想知道如何使用 Angular 创建可打印内容 跳转到页面末尾并打印更多内容 如何强制内容始终适合特定尺寸 例如 PDF 我需要 Angular 来执行此操作吗 如果不是 HTML 我可以迭代 PDF
  • 从子 ng-repeat 访问父 ng-repeat 的索引

    我想使用父列表 foos 的索引作为子列表 foos bars 中函数调用的参数 我发现有人建议使用 parent index 的帖子 但是 index不是以下的财产 parent 如何访问父级的索引ng repeat div div di
  • ng-repeat 仅具有特定属性值的对象 - 自定义过滤器?

    假设我有一个 JSON 对象 用户 其中包含一些基本属性 例如 名称 地址 角色 等 我希望 ng repeat 只吐出属性 角色 等于 管理员 的对象 我该怎么做呢 我正在考虑类似自定义过滤器的东西 或者可能创建一个范围变量 将匹配的对象
  • Internet Explorer Selenium Protractor e2e 测试

    我想在我们的 CI 构建过程中添加一些 e2e 测试 我已经针对 chrome firefox 添加了它们 作为最简单的 但我真的很想为几个 IE 版本做这件事 如何在 linux mac 上的构建过程中注入它 我发现这样的文章 http
  • 身份验证在不应该返回“401(未经授权)”时返回

    我第一次设置身份验证功能 在用户登录后得到了一些意外的结果 一位同事给了我一个具有工作身份验证的应用程序 以模仿我的应用程序 看起来我所做的一切都是正确的 我在前端使用 AngularJS 在后端框架使用 SailsJS 并且护照JS ht
  • 未捕获的引用错误:在 karma start karma.conf.js 上未定义 require

    使用 Karma 和 Jasmine 对 Rails 应用程序的 Angular 前端进行单元测试 看来我已经做了所有已知的事情来解决这个错误 并且我的 package json 中留下了一百万个依赖项 这是我的 Karma conf js
  • Angular UI 路由器嵌套视图问题

    我在理解 Angular UI Router 嵌套视图的工作原理时遇到了一些问题 我的 stateProvider 看起来像这样 stateProvider state login url login views main template
  • AngularJS templateUrl 与 template - 隔离范围

    我有以下指令 offerListSorters directive offersSorter myState templateCache function myState templateCache return scope control
  • 如何在 AngularJS 中滚动到页面顶部?

    我想在使用 angularjs 获得 ajax 调用响应后滚动到页面顶部 基本上 我在页面顶部显示警报消息 并且希望在收到 ajax 响应时将警报消息集中显示 Thanks 您可以使用 window scrollTo x y where x
  • 将 bootstrap 迁移到 v4 - 弹出窗口不起作用

    我在将 Bootstrap 从版本 3 迁移到版本 4 时遇到问题 问题在于弹出窗口和 popper js 库 每次我将鼠标悬停在某个元素上时 都会收到此错误 未捕获的类型错误 无法读取未定义的属性 indexOf 在 v computeA
  • 通过外部控制进行 AngularJS 智能表过滤

    我试图找出合并 st table st safe src 的正确方法 并通过表本身之外的控件过滤数据 用户可以添加 编辑和删除数据 这就是我使用安全源的原因 任何例子或反馈都会很棒 查看此示例 其中包含从智能表中添加 编辑 删除行的选项 h
  • 如何使用 AngularJS ngView 为未经授权的用户隐藏模板?

    我有一个基本的 PHP 应用程序 其中用户登录信息存储在 HTTP 会话中 该应用程序有一个主模板 例如index html 它使用 ngView 切换子视图 如下所示 div div 现在 这个主模板可以通过基本的 PHP 控件进行保护
  • 为什么还是filter和orderBy的优点呢?

    看来 AngularJS 确实非常重视在视图中使用过滤器和其他 ng 指令来过滤和排序数据 而不是在模型中手动执行 这有什么原因吗 比如速度更快 有缓存还是其他原因 例如 我想显示一个已排序的列表 但我也想访问已排序的列表以用于与视图无关的
  • 在 Angular 中加载脚本和资源时实现加载器动画的最佳方法是什么?

    我希望向我的 Web 应用程序的用户显示一个进度条 指示加载所需文件和脚本的当前进度 最好显示百分比 但简单的加载器 gif 是一个可以接受的解决方案 如果可能的话 实现一个可以显示 Angular 中图像 CSS 和 JS 加载完成百分比
  • AngularJS工厂如何返回一个对象

    我有一个要求 我应该在其中编写工厂 这个工厂应该包含3个函数init save和delete 我应该从控制器调用 init 函数 该函数返回一个对象 该对象具有执行添加和删除功能的功能 我怎样才能做到这一点 以下是我的代码 它成功执行了 i
  • 页面点击其他路径后 $timeout 继续运行

    我在用yo angular fullstack生成器来构建我的网站 当用户注册该网站时 它将发送一封带有链接的激活电子邮件 当用户点击该链接时 会显示激活成功并超时进入主页 但是 当超时未结束 用户点击页面中的任何其他链接时 会跳转到其他页
  • 地址更改时如何停止 Angular 重新加载

    我正在使用 Angular 的scrollTo and anchorScroll像这样 app controller TestCtrl function scope location anchorScroll scope scrollTo

随机推荐

  • 程序集中的类顺序

    什么决定了程序集中类的顺序 还有 有办法改变它吗 附加信息 您可以自己通过反射检查顺序 也可以使用ILDASM之类的工具 禁用字母排序 然后您也会得到顺序 顺序似乎是由编译器以一种奇怪的方式确定的 我已经尝试了一些事情 例如重命名类 顺序保
  • cakephp 中在哪里定义常量

    我应该在哪个文件中定义特定于我的 cakephp 应用程序的应用程序范围常量 我在 app config bootstrap php 中定义它们 引导 CakePHP 如果您有任何其他配置需求 请使用 CakePHP 的引导文件 该文件位于
  • JBoss 4.2.2 节点开始集群然后互相怀疑

    我有一个在现有 Red Hat 服务器上运行 JBoss 4 2 2 的网站 我正在设置第二台服务器 以便拥有一对集群 然后将进行负载平衡 但是 我无法让它们成功集群 现有服务器启动 JBoss run sh c default b 0 0
  • xslt apply-templates 选择所有剩余的文本节点

    我有这个简化的 xml a b b a
  • 在 C++ 应用程序中使用纯 C(非类包装)函数时是否存在任何问题?

    我计划在 C 应用程序中使用纯 C MPI 库 我不想通过运行例如添加不必要的膨胀 Boost MPI 层将所有内容包装在MPI
  • 如何在Flutter中更改按钮主题的文本颜色

    如果我向我的应用程序添加一个主题 如下所示 class MyApp extends StatelessWidget override Widget build BuildContext context return MaterialApp
  • 使用 _renderItem 类型会破坏自动完成字段

    我有一个 jQuery 自动完成字段 到目前为止一直运行良好 我决定使用 renderItem因为我想在结果中使用一些 HTML 这是我的代码 function prepareClientField var renderItemFuncti
  • Android 中的*窗口焦点*什么时候会改变?

    在我的项目中 我需要捕捉窗口焦点的变化 我已经注销了活动所有阶段的结果 当屏幕亮起时 结果如下 02 17 13 50 03 898 DEBUG InquiryInterface 3829 onCreate screen state fal
  • Java HashMap 调整大小的时间复杂度

    我想知道时间复杂度是多少Java HashMap当负载因子超过阈值时调整大小 据我了解 HashMap 的表大小始终是 2 的偶数次幂 因此每当我们调整表大小时 我们不需要重新散列所有键 如果我错了 请纠正我 我们需要做的就是是分配额外的空
  • 如何将Sentry与.NET 6.0 Worker Service集成?

    我综合了Sentry与 NET Core 6 0工人服务这边走 NuGet 哨兵3 17 1 Program cs using Sentry var sentryDsn Environment GetEnvironmentVariable
  • 处理宏注释时无法访问父级成员

    我有点被以下内容挡住了 宏注释 情况 假设我有一个名为 factory哪个 旨在产生一个apply相应伴随对象中带注释的特征的方法 例如 给定trait A factory trait A val a1 Int 预期生成的代码如下 obje
  • 扩展模板解析器:CodeIgniter...嵌套数组的问题

    我目前正在使用扩展模板解析器库 http codeigniter com forums viewthread 155859 对于代码点火器 我在尝试模板解析嵌套数组时遇到了问题 这是我正在向视图提供的数组 Array users gt Ar
  • 如何从 C++ 向量中获取 2 个随机(不同)元素

    我想从 std vector 中获取 2 个随机不同的元素 我怎样才能做到这一点 它很快 在我的算法中已经完成了数千次 它是优雅的 元素选择确实是均匀分布的 为了优雅和简单 void Choose const int size int fi
  • 如何为复杂的文档结构编写 MongoTemplate 查询和条件?

    我是 MongoTemplate 的新手 我想定义一个 org springframework data mongodb core query Query 和 org springframework data mongodb core qu
  • Makefile 和符号链接

    我在 makefile 方面遇到了一个奇怪的问题 我只想在 makefile 中设置符号链接 但在一台机器上收到错误消息 Linux 2 6 18 238 12 1 el5 make execvp ln Too many levels of
  • 如何在 Cocoa Mac 中以编程方式关闭窗口?

    如何以编程方式关闭 cocoa mac 中的窗口 我使用按钮单击从第一个窗口 xib 打开了第二个窗口 xib 我需要在打开或单击按钮时以编程方式关闭第一个窗口 xib 我怎样才能做到这一点 Apple 有一些有用的示例代码笔尖装载 htt
  • iconv:从 CP1252 转换为 UTF-8

    我正在尝试将 CP1252 编码的字符串 转换为 UTF 8 我尝试过这个命令 iconv c f WINDOWS 1252 t UTF 8 test txt 运气不好 得到了一些奇怪的结果 我尝试在这里输入相同的字符串 他们能够毫无问题地
  • 无法访问sql server配置管理器

    我在删除 SQL Server 2008 R2 Express 后安装了 SQL Server 2008 R2 评估版 卸载后 SQL Server 配置管理器仍然可以访问 但现在无法再访问 并出现以下错误 无法连接到 WMI 提供程序 您
  • 如何设置 VTCompressionSession 的 MaxH264SliceBytes 属性

    iOS VTCompressionSession有一个属性是kVTCompressionPropertyKey MaxH264SliceBytes 但是 我无法设置kVTCompressionPropertyKey MaxH264Slice
  • 如何扩展或覆盖 AngularJS 中现有的过滤器?

    是否可以扩展现有的 标准 过滤器 date number lowercaseETC 就我而言 我需要从 YYYYMMDDhhmmss 格式解析日期 所以我想扩展 或覆盖 date过滤而不是我自己写 我更喜欢实施装饰器模式 http en w