Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度:自定义管道事件处理_Angular_Angular Pipe - Fatal编程技术网

Angular 角度:自定义管道事件处理

Angular 角度:自定义管道事件处理,angular,angular-pipe,Angular,Angular Pipe,这是在一次采访中被问到的 要求是创建一个自定义管道,如果文本超过一定数量的字符(比如说10个字符),该管道将返回一个以“Read more”链接为后缀的缩短文本 如果单击“阅读更多”链接,则应显示整个原始文本,并以“阅读更少”链接作为后缀。 如果单击“少读”链接,则应再次显示缩短的文本,并以“多读”链接作为后缀。 所以,“多读”和“少读”链接以及短文本和原始文本应该在点击链接时切换 整个功能仅由管道实现。管道中是否可以进行事件处理?我们如何处理管道中链接的点击事件?我认为面试官不知道管道的实际用

这是在一次采访中被问到的

要求是创建一个自定义管道,如果文本超过一定数量的字符(比如说10个字符),该管道将返回一个以“Read more”链接为后缀的缩短文本

如果单击“阅读更多”链接,则应显示整个原始文本,并以“阅读更少”链接作为后缀。 如果单击“少读”链接,则应再次显示缩短的文本,并以“多读”链接作为后缀。 所以,“多读”和“少读”链接以及短文本和原始文本应该在点击链接时切换


整个功能仅由管道实现。管道中是否可以进行事件处理?我们如何处理管道中链接的点击事件?

我认为面试官不知道管道的实际用途。基本上,
管道
不应该像
那样处理这些
类型的
复杂的
操作
。管道应该处理一些基本操作,如

  • 将日期时间更改为区域设置
  • 修剪绳子
  • 根据条件等对数字进行排序

最好的选择是使用
共享组件
。他可以使用此功能在组件之间传递事件。

否。管道不是此作业的合适工具。一个组件是,这是可能的。但是相当棘手!有用链接:我不知道。对于管道来说,这太不合逻辑了。因为这是一次采访,他们可能想让你提出质疑,并想看看你是否能找到反对的理由。我认为,理想的方法是在组件中结合使用一个管道来改变文本,并通过维护一个标记来决定是缩短还是扩展文本。此标志可以作为参数传递给管道,以相应地缩短或扩展文本。但我认为这是不可扩展的。如果在同一模板中有多个这样的管道,那么在修改文本时,一个管道对另一个管道可能会产生副作用。