在标签文本中附加星号的 Angular 指令

Posted

技术标签:

【中文标题】在标签文本中附加星号的 Angular 指令【英文标题】:Angular directive to append asterisk in label text 【发布时间】:2016-02-24 16:45:33 【问题描述】:

正如在 SO 中发现的那样,我们可以创建一个自定义指令来为元素附加所需的验证星号,如下所示:

mod.directive("mandatory", function() 
       return 
           restrict: 'A',
           compile: function(element) 
              element.after("*");
           
       ;
    );

我有一个简单的标签标签如下:

<label mandatory>Name</label>

它的作用是创建如下html内容:

 <label mandatory>Name</label>*

我想要的是以下html内容:

<label mandatory>Name*</label>

我尝试过元素的 .text、.html、.appends 功能,但没有反映出任何变化。

任何建议将不胜感激。

【问题讨论】:

【参考方案1】:

您可能希望以这种方式设置文本:

mod.directive("mandatory", function() 
       return 
           restrict: 'A',
           compile: function(element) 
              element.text(element.text() + "*");
           
       ;
    );

但是,我不会直接操作元素,而是选择模板或类似的东西。

【讨论】:

非常感谢。有效。是的,确实使用模板是理想的。

以上是关于在标签文本中附加星号的 Angular 指令的主要内容,如果未能解决你的问题,请参考以下文章

自定义 Angular 结构指令仅适用于星号语法

如何从 Angular 2 的指令中附加动态 DOM 元素?

等待点击 Promise 完成的 Angular 指令

Angular项目从项目输出文件夹中的.ts编译附加的.js文件

用于附加侧边栏的 Angular 指令

访问附加到组件选择器的 angular 2 指令