Angular Mustache评估 - 为什么这段代码表现如此?

时间:2017-05-03 22:19:59

标签: angularjs

在以下代码中:

<!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这会消失。”我看到的是“23”。 (注意缺少的“这消失了”)

很明显,小胡子没有做直接评估,但这里究竟发生了什么?

2 个答案:

答案 0 :(得分:0)

将2转换为字符串,然后与&#34; 3&#34; string,因为你不能将整数与字符串连接起来。

答案 1 :(得分:0)

AngularJS表达式是类似JavaScript的代码片段,由AngularJS在当前模型范围的上下文中进行评估,而不是在全局上下文(窗口)的范围内。

https://docs.angularjs.org/guide/expression