AngularJS 学习笔记
1. 什么是AngularJS?
AngularJS 是由 Google 主导开发的一款 JavaScript 框架,用于前端开发。它采用了 MVVM(Model-View-ViewModel)架构,可以帮助开发者更好地管理和组织前端代码。
2. 常用指令
2.1 ng-app
ng-app
指令定义了 AngularJS 应用程序的根元素。它告诉 AngularJS 在哪里启动应用程序,并在其内部寻找相关的指令和控制器。
htmlCopy Code<div ng-app="myApp">
<!--应用程序区域-->
</div>
2.2 ng-controller
ng-controller
指令定义了一个控制器,用于管理 HTML 元素。控制器负责与视图交互,处理用户输入等操作。
htmlCopy Code<div ng-app="myApp" ng-controller="myCtrl">
<p>{{ firstName + " " + lastName }}</p>
</div>
<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
$scope.firstName = "John";
$scope.lastName = "Doe";
});
</script>
2.3 ng-model
ng-model
指令用于将输入域的值与数据模型绑定起来,实现双向数据绑定。
htmlCopy Code<div ng-app="myApp" ng-controller="myCtrl">
<input type="text" ng-model="name">
<p>Hello, {{ name }}</p>
</div>
<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
$scope.name = "John";
});
</script>
2.4 ng-repeat
ng-repeat
指令用于循环输出数组或对象的数据。
htmlCopy Code<div ng-app="myApp" ng-controller="myCtrl">
<ul>
<li ng-repeat="x in names">{{ x }}</li>
</ul>
</div>
<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
$scope.names = ["John", "Jane", "Jim"];
});
</script>
3. 实例
下面是一个简单的 AngularJS 实例,展示了如何使用上述指令:
htmlCopy Code<!DOCTYPE html>
<html>
<head>
<title>AngularJS Demo</title>
<script src="https://cdn.bootcdn.net/ajax/libs/angular.js/1.8.2/angular.min.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
<h1>{{ siteTitle }}</h1>
<form>
<input type="text" ng-model="name">
<button ng-click="addName()">Add Name</button>
</form>
<hr>
<h2>Names:</h2>
<ul>
<li ng-repeat="x in names">{{ x }}</li>
</ul>
</div>
<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
$scope.siteTitle = "AngularJS Demo";
$scope.names = ["John", "Jane", "Jim"];
$scope.addName = function() {
if ($scope.name !== undefined && $scope.name !== "") {
$scope.names.push($scope.name);
$scope.name = "";
}
};
});
</script>
</body>
</html>
以上是一个简单的学习笔记例子,希望能对你有所帮助。