在下面的代码:“23This消失”Angular Moustache评估 - 为什么此代码的行为如此?
<!doctype html>
<html lang="en" ng-app>
<head>
<meta charset="utf-8">
<title>My HTML File</title>
<link rel="stylesheet" href="bower_components/bootstrap/dist/css/bootstrap.css" />
<script src="bower_components/angular/angular.js"></script>
</head>
<body>
<div id="div1" style="display:none;">This disappears</div>
<p>Nothing here {{2 + "3" + document.getElementById("div1").innerText + "." }}</p>
</body>
</html>
我期望看到一个错误或者失败,我会期待我所看到的是“23”。 (注意失踪的“这消失了”)
很明显,胡子没有做直接评估,但实际上在这里发生了什么?
对不起,也许我应该更清楚。问题是指document.getElement ... innerText。 Angular正在做一个评估,但绝对不是评估。令人费解的是它得到了“。”但失败的DOM对象。哪些导致相信整个页面被克隆,或者有其他一些机制可以优雅地失败。 2+“3”= 23并不奇怪。 – user1529413
CSS树将首先被重建: '
' 然后,** $编译器**将与具有空div的DOM一起工作。 – nfproductions这是准确的吗?我在这里理解的(来自https://docs.angularjs.org/guide/expression)是'{{code}}'不是JavaScript,而是一种新的解释型语言。 – user1529413