在下面的代碼:「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