我一直在寻找另一SO指令锻炼复制的元素:Angular指令中的元素编译函数是一个jQuery元素吗?
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="utf-8">
<title>Directive Lifecycle</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.0/angular.js"></script>
<script src="main.js"></script>
</head>
<body ng-app="app">
<double>
<h1>Ask Jeebus</h1>
</double>
</body>
</html>
JS
var app = angular.module('app', []);
app.directive('double', function() {
return {
restrict: 'E',
compile: function(tElement, attrs) {
var content = tElement.children();
tElement.append(content.clone());
tElement.replaceWith(tElement.children());
}
}
});
的功能。孩子(),.append,并克隆似乎都来自jQuery的到来。我知道Angular提供了自己的jQuerylite,它有一些jQuery的部分,那是什么tElement使用?还是使用所有的jQuery。
作为一个侧面问题,为什么必须使用content.clone()?即使在我记录内容和content.clone()时,它们也不能用于tElement.append(内容),但它们似乎是相同的h1。
在文档中的完整详细信息。 https://docs.angularjs.org/api/ng/function/angular.element jQlite有许多jQuery方法,它们在本文档链接 – charlietfl
中列出为一个侧面问题,为什么必须使用.clone?为什么不能只做tElement.append(content); - – WinchenzoMagnifico
其实看起来很奇怪,看起来像是附加了克隆,但随后整个元素在下一行被替换 – charlietfl