以下摘录摘自Angular文档摘录:
<html ng-app="phonecatApp">
<head>
...
<script src="lib/angular/angular.js"></script>
<script src="js/controllers.js"></script>
</head>
<body ng-controller="PhoneListCtrl">
...
...
ng-app ng-controller ng-repeat被称为指令。
从DOM角度来看,它们是什么? javascript代码片段如何以跨浏览器的方式访问它们(我猜是angular.js必须做什么)?
答案 0 :(得分:1)
从DOM角度看它们是什么
它们只是普通的DOM属性
javascript代码段如何以跨浏览器方式访问它们
您可以使用getAttribute
进行访问,或者如果您使用的是jQuery,则可以通过$.attr
window.onload = function(){
alert(document.getElementById("test").getAttribute("ng-app"));
}
答案 1 :(得分:1)
添加到@KhanhTO:
当浏览器解析DOM时,将忽略angular指令。要制作有效的HTML,您还可以使用data-ng-<name>
表单。例如,np-app
变为data-ng-app
。
在加载DOM和js之后,Angular有自己的解析周期。 Angular将此视为$compile
阶段。 Angular通过DOM查看并在此阶段识别其指令。
Angular通过提供自己的事件来修改正常的JavaScript流程 处理循环。这将JavaScript分为古典和Angular 执行上下文。只有在Angular中应用的操作 执行上下文将受益于Angular数据绑定异常 处理,财产观察等...
conceptual overview角度更多。