<div ng-app="app"></div><!--此div现在受到AngularJS约束-->
angular.module('app',[])//数组代表依赖注入的内容
<div ng-app="app">
{{ 'This is your first Angular App!' }}</div>
基本指令
指令:带有特定功能的自定义属性
指令格式:ng-command
基本指令:
<div ng-app="app" ng-init="username='Hello U!'">
{{ username }}</div>
这个数据可以是除函数外的任意的js数据类型
<div ng-app="app" ng-init="user={ username: 'Samuel', sayHello: 'Samuel say hello to you!' }; date=[1,2,3,4,5,6,7]">
{{ user.username }} <br>
{{ user.sayHello }} <br>
今天是星期{{ data[2] }}</div>
<div ng-app="app"> <input ng-model="text" />
<span>监听到输入框的变化{{ text }}</span></div>
<div ng-app="app" ng-init="username='Samuel'">
<span ng-bind:"username">
{{ username }} </span></div>
它与花括号表达式不同,它只能将数据绑定到html内容中(类似innerHTML实现),而花括号表达式可以将数据绑定到任何地方
<div ng-app="app" ng-init="username='Samuel'>
<p id="{{ username }}"></p></div>
PS:ng-model
也能实现数据的捆绑,但破坏了规范的分工机制,不提倡
<div ng-app="app" ng-init="datalist=[1,2,3,4]">
<p ng-repeat="$item in datalist">{{ $item }}</p></div>
遍历datalist,根据遍历的情况生成元素,并且可以在元素中使用遍历到的数据
控制器 controller
既然Angular是MVC模式的框架,那么一定有一个controller(C)层面
控制器的作用:
监听页面中的请求和行为
访问处理数据
将数据同步到view
控制器关注的部分
插个楼!——$scope
$scope是angular对象内置服务对象,关联当前ng-app,是ng-controller实现内部数据和事件方法绑定(可以说是托管到$scope上,并通过$scope去调用)的核心对象
控制器实现步骤:
声明控制器
<div ng-app="app" ng-controller="mycontroller"></div>
通过应用边界管理模块去监听控制器
//在模块var app = angular('app',[]).controller('mycontroller', function() { //这里就要使用到$scope来进行数据的控制
$scope.hostage = "I am a hostage, controlled by Samuel"
$scope.something = "I am something."})
AngularJS事件
AngularJS自己定义了一套事件标准,通过指令的形式进行监听
示例:
<div ng-app="app" ng-controller="mycontroller">
<button ng-click="sendMessage()">sendMessage</button>
<span>I'm wating for message.</span>
<br>
<span>{{ message }}</span></div>
js:
var app = angular.module('app', []).controller('mycontroller', function() {
$scope.sendMessage = function() {
$scope.message = "I\'m message!";
}
});
第一眼,我们看到了:
AngularJS的核心业务(优势,解决的问题)、使用方式、编程模式(MVC)、基本的数据交互。使得这个强大的框架终于将虚掩的门打开。
作者:Asambojur
链接:https://www.jianshu.com/p/a1517ec1539d