我有一个指令,可以在一个页面上多次使用。在此指令的模板中,我需要对输入元素使用ID,以便可以将Label“绑定”到它,如下所示:
<input type="checkbox" id="item1" /><label for="item1">open</label>
现在的问题是,一旦多次包含我的指令,ID“ item1”就不再是唯一的,并且标签将无法正常工作(单击时应选中/取消选中该复选框)。
该问题如何解决?有没有一种方法可以为模板分配“名称空间”或“前缀”(例如asp.net使用ctl00 …-
Prefix)?还是我必须在每个id属性中包括一个angular-Expression,它由作用域中的指令ID +一个静态ID组成。就像是:
<input type="checkbox" id="{{directiveID}} + 'item1'" /><label for="{{directiveID}} + 'item1'">open</label>
编辑:
我的指令
module.directive('myDirective', function () {
return {
restrict: 'E',
scope: true,
templateUrl: 'partials/_myDirective.html',
controller: ['$scope', '$element', '$attrs', function ($scope, $element, $attrs) {
...
} //controller
};
}]);
我的HTML
<div class="myDirective">
<input type="checkbox" id="item1" /><label for="item1">open</label>
</div>
的HTML
<div class="myDirective">
<input type="checkbox" id="myItem_{{$id}}" />
<label for="myItem_{{$id}}">open myItem_{{$id}}</label>
</div>
问题内容: 我正在为Angular开发基于UI和排版的指令。在这种情况下,该指令所应用的元素是未知的-从div,span,h1到h5的任何值。 使用模板的原因是我可以向其中添加指令(因此开发人员无需记住指令名称即可)。 我添加属性和重新编译元素的成功有限。但是,添加时没有成功。创建新元素并替换旧元素会带来集成问题(忽略元素上可能存在的其他指令和数据属性),复制这些属性并将其添加到新元素的效果很小。
问题内容: 我正在尝试实现自定义指令,以使html表中的列可排序。 HTML: JS: 指令模板: 因此,当我将其用作指令模板的根标记时,会检索到错误: 但是当我更改为或标记时,一切正常。 我究竟做错了什么? 问题答案: 我希望在上下文之外进行评估时,它会在某个中间点消失(将该模板放入您网页的某个随机部分以查看消失)。 在您的位置上,我将在模板中使用a ,更改为“ A”类型指令,并像以前一样使用a
问题内容: 在以下情况下如何使用包含。目的是在html(部分)文件中使用标记,而不是在模板中(在指令内)定义标记。 我在这里找到了一个很棒的树指令。( 来源)原文: http //jsfiddle.net/n8dPm/ 我没有在指令中定义模板,而是尝试使用包含在内的内容。我还将Angular更新为1.2.0.rc2。更新时间:http://jsfiddle.net/aZx7B/2/ 低于错误 Ty
问题内容: 我正在尝试根据范围值使用不同的模板进行指令。 这是我到目前为止所做的,我不知道为什么它不起作用http://jsbin.com/mibeyotu/1/edit HTML元素: 指示: 问题答案: 1)您正在将内容作为属性传递到html中。试试这个: 代替: 2)指令的数据部分正在被编译,因此您应该使用其他东西。代替数据类型,例如datan-type。 链接在这里: http://jsb
问题内容: 这是我的AngularJs指令。它原本希望在模板中显示div,但是在运行代码时却什么也没有显示。 这是HTML 这是AngularJS指令 这是演示 问题答案: 声明指令时,您使用了名称,但这是错误的。您应该使用,因为它将被转换为元素。 指令名称中的任何大写字母都将转换为连字符,因为元素中未使用大写字母。例如将翻译为。 正如其他人提到的,AngularJS使用以下标准化规则进行标准化:
问题内容: 我正在使用SVG和angular.js进行大型项目,并且需要对svg指令模板的坚实支持。不幸的是,当angular渲染模板时,它将创建DOM节点,而不是SVG节点。我当前的解决方法是使用jquery.svg自己管理创建和删除节点,但是它受到限制。示例:http://plnkr.co/edit/Xk8wM3?p = preview 我想让指令成为实际的svg元素,而不是一些没有任何实际作