ng-app,ng-repeat,ng controller等......它们来自HTML DOM的角度以及JS如何访问它们?

时间:2013-10-21 13:57:04

标签: javascript html angularjs dom

以下摘录摘自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必须做什么)?

2 个答案:

答案 0 :(得分:1)

  

从DOM角度看它们是什么

它们只是普通的DOM属性

  

javascript代码段如何以跨浏览器方式访问它们

您可以使用getAttribute进行访问,或者如果您使用的是jQuery,则可以通过$.attr

访问它
window.onload = function(){
    alert(document.getElementById("test").getAttribute("ng-app"));
}

DEMO

答案 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角度更多。