给定
<mytag class="red">
<mysubtag id="3"></mysubtag>
</mysubtag>
子标签可能具有不同的含义,具体取决于父标签(可能是 mytag 或 mysupercustomtag)。我有所有父标签的指令。如何访问子标签?
我知道在 mytag 指令的链接函数中我可以使用children()
, contents()
, and data()
, 甚至elm.find('#someid')
. 像下面这样的东西可以解决问题吗?这样做的正确方法是什么?嵌套指令?
.directive('mytag', function() {
return {
restrict: 'A',
template: '<div></div>',
replace: true,
link: function (scope, element, attrs) {
// get the id of the first child (for example mysubtag)
var newid = element.children()[0].getAttribute('id');
// and put it in mytag, so that it is transformed into <div class="red" id="3">..
attrs.$set('id', newid);
}
}
})