haizlin / fe-interview

前端面试每日 3+1,以面试题来驱动学习,提倡每日学习与思考,每天进步一点!每天早上5点纯手工发布面试题(死磕自己,愉悦大家),6000+道前端面试题全面覆盖,HTML/CSS/JavaScript/Vue/React/Nodejs/TypeScript/ECMAScritpt/Webpack/Jquery/小程序/软技能……
http://www.h-camel.com
MIT License
25.04k stars 3.24k forks source link

[angular] 第1868天 怎样区分Angular表达式和JavaScript表达式? #5830

Open haizhilin2013 opened 1 month ago

haizhilin2013 commented 1 month ago

第1868天 怎样区分Angular表达式和JavaScript表达式?

3+1官网

我也要出题

llccing commented 5 days ago

区分Angular表达式和JavaScript表达式的问题主要针对AngularJS(1.x)。在AngularJS 1.x中,Angular表达式和JavaScript表达式的区别更为显著。

AngularJS(1.x)中的区别

Angular表达式

JavaScript表达式

Angular(2+)中的区别

在Angular 2及其后续版本中,这种区分变得不再那么明显。Angular(2+)主要使用的是模板语法,而不再是传统的AngularJS表达式。Angular模板语法更接近于标准的HTML,并且使用了绑定语法和指令来实现数据绑定和视图更新。

模板语法

示例对比

AngularJS(1.x)

Angular表达式

<div>
  <p>{{ message }}</p>
  <p ng-if="isVisible">{{ info }}</p>
</div>

JavaScript表达式

$scope.message = "Hello, World!";
$scope.isVisible = true;
$scope.info = "Some information";

if ($scope.isVisible) {
  console.log($scope.info);
}

Angular(2+)

模板表达式

<div>
  <p>{{ message }}</p>
  <p *ngIf="isVisible">{{ info }}</p>
</div>

JavaScript表达式

export class AppComponent {
  message: string = "Hello, World!";
  isVisible: boolean = true;
  info: string = "Some information";
}

总结

希望这些信息能帮助您更好地理解在不同版本的Angular中如何区分和使用表达式。