Angular.js学习笔记 (一)

2020-09-03 09:42:55 浏览数 (1)

- angular中最重要的概念是指令(directive) - ng-model 是双向数据绑定的指令,效果就是将当前元素的value属性和模型中的[user.name]建立绑定关系 ### 模块(Module) - 我们可以通过angular.module创建一个模块 - angular.module方法传递两个参数才是创建模块,一个参数是获取模块 ### 控制器(Controller)

-常用方法:<html lang="en" ng-app="HelloApp"></html>//ng-app属性是使用ng的前提

<div ng-controller="HelloController"></div>//ng-controller属性放在包裹标签上,控制包裹内代码

js代码中:

- var module = angular.module('HelloApp', [])

- module.controller('HelloController', ['$scope','$http', function(a,b) {

console.log(a);//打印的是$cope对象

}]);

- 通过$scope和视图关联

- $scope.$watch('/*要监视是否发生变化的值*/',function(now,old){

console.log(now);//现在输入的值

console.log(old);//输入之前的旧值

})

-这里推荐一个ng的插件:AngularJS Batarang,安装后可以在chrome控制台下发现ng调试工具

### 表达式(expression)

{{}}

AngularJS表达式很像JavaScript表达式, 它们可以包含

文字、运算符和变量 如 {{ 5 5 }} 或 {{ firstName ‘-’ lastName }},

数字{{ 100 100 }},

字符串{{ 'hello' 'angular'}} ,

对象{{ zhangsan.name }} ,

数组{{ students[10] }}

对比 JavaScript 表达式:

相同点: AngularJS 表达式可以包含字母,操作符,变量。

不同点: AngularJS 表达式可以写在 HTML 中。 AngularJS 表达式不支持条件判断,循环及异常。 AngularJS 表达式支持过滤器。

### 解决ng在加载页面时先出现表达式的bug <style> /* ng-cloak指令就是在NG执行完毕过后自动移除 */ [ng-cloak], .ng-cloak { display: none; } </style> <body ng-app class="ng-cloak"></body>或者<body ng-app ng-cloak></body>

0 人点赞