我有一组自定义指令可以通过 nav 标签有效地构建可嵌套的导航菜单。之前对如何获取转入文本的内容有一些疑问。虽然我已经弄清楚了,但我现在想知道是否有任何方法可以删除嵌入的元素,以便之后它不会出现在模板中。使用 This Plunker,您可以看到元素正在获取嵌入元素的文本。但它仍然包含在ng-transclude
div 中。
您将能够看到 plunker 中的代码,但 plunker 中的相应代码是:
//Other Code Here
controller:function($scope,$element,$attrs,$transclude){
this.parents = [];
var el = $transclude();
if(angular.equals($attrs.menuTitle, undefined)) {
$attrs.menuTitle= el.text().trim().split('\n')[0];
el.remove(); //Runs, still leaves the transcluded element
}
this.addSubmenu = function(parent){
this.parents.push(parent);
};
},
//Other Code Here
我对$transclude
价值的了解很少——我在这里工作的那篇文章只是通过大量谷歌搜索和检查问题偶然发现的。
感谢您提供的任何帮助。