Angularjs基础(九)

2018-01-22 10:47:11 浏览数 (1)

AngularJS 应用 应用程序讲解     实例:

代码语言:js复制
		        <html ng-app="myNoteApp">
		          <head>
			            <meat charset="utf-8">
            <script src="http://apps.bdimg.com/libs/angular.js/1.4.6angular.min.js"></script>
		          </head>
		          <body>
			            <div ng-controller="myNoteCtrl">
				            <h2>我的笔记</h2>
				            <p><textarea ng-model="message" cols="40"rows="10"></textarea></p>
				            <p>
					              <button ng-click="sace()">保存</button>
					              <button ng-click="clear()">清除</button>
				            </p>
				            <p>Number of characters left:<span ng-bind="left()"></span></p>
			            </div>
			            <script src="myNoteApp.js"></script>
			            <script src="myNoteCtrl.js"></script>
		          </body>
		        </html>

      应用程序文件“myNoteCtrl.js”:

代码语言:js复制
		          var app = angular.module("myNoteApp",[]);

      控制器文件“myNoteCtrl.js”

代码语言:js复制
		          app.controller("myNoteCtrl",function($scope){
			                $scope.message = "";
			                $scope.left = function (){ return 100 - $scope.message.length;};
			                $scope.clear = function() {$scope.message = "";};
			                $scope.save = function(){alert("Note Saved")}
		          })

      <html> 元素是AngularJS应用:ng-app="myNoteApp"的容器:

代码语言:js复制
		         <html ng-app="myNoteApp">

      <div>是HTML 页面中控制器:ng-controller = "myNoteCtrl"的作用域

代码语言:js复制
		        <div ng-controller="myNoteCtrl">

        ng-model 指令绑定了<textarea>到控制器变量message:

代码语言:js复制
		        <textarea ng-model="message" cols="40" rows="10"></textarea>

      两个ng-click 事件调用了控制器函数clear()和save();

代码语言:js复制
		          <button ng-click="save()"></button>
		          <button ng-click="clear()"></button>

      ng-bind 指令绑定控制器函数 left() 到<span> ,用于显示剩余字符:

代码语言:js复制
		          Number of characters left: <span ng-bind="left()"></span>

      应用库文件需要在 AngularJs 加载后才能执行:

代码语言:js复制
		          <script src="myNoteApp.js"></script>
		          <script src="myNoteCtrl.js"></script>

AngularJS 应用架构     以上实例是一个完整的 AngularJS 单页Web应用(single page web application,SPA)。     <html> 元素包含了 AngularJS 应用 (ng-app=)。     <div> 元素定义了 AngularJS 控制器的作用域 (ng-controller=)。     在一个应用可以由很多控制器。

常用指令

ng-app 定义应用程序的根元素。       实例:让body 元素为AngularJS 应用的根元素:

代码语言:js复制
			          <body ng-app="">
				            <p>我的第一个表达式:{{5 5}}</p>
			          </body>

      定义和用法           ng-app 指令用于告诉AngularJS应用和这个元素是根元素。           所有AngularJS 应用都必须要要一个跟元素。           HTML文档中只允许有一个ng-app 指令,如果有多个ng-app指令,则只第一个会被使用。           <element ng-app="modulename">               在 ng-app 根元素上的内容可以包含 AngularJS 代码           </element>       参数值           值: modulename 描述: 可选。指定载应用模块的名称。       实例:

代码语言:js复制
					        <div ng-app="myApp" ng-controller="myCtrl">
						            {{firstName  ""  lastName}}
					        </div>
					        <script>
						          var app = angular.module("myApp",[]);
						          app.controller("myCtrl",function($scope){
							                $scope.firstName ="John";
							                $scope.lastName ="Doe";
						          })
					      </sctipt>

ng-bind 描述:绑定HTML元素到应用程序数据。       实例:绑定<p>内的innerHTML 到变量myTwxt

代码语言:js复制
		        <div ng-app="" ng-init="myText='Hello Word!'">
			            <p ng-bind="myText"></p>
		        </div>

      定义和用法           ng-bind 指令告诉AngularJS 使用给定的变量或表达式的值来替换HTML元素的内容。           如果给定的变量或表达式修改,指定替换的HTML元素也会修改。       语法:

代码语言:js复制
			          <element ng-bind="expression"></element>

            或作为CSS 类:

代码语言:js复制
			          <element class ="ng-bind:ex[ression"></element>

      参数值           值:expression 描述: 指定要执行的变量或表达式。

ng-bind-html 描述:绑定HTML元素的innerHTML 到应用的程序数据,并移除html 字符串中危险字符。             实例:绑定<p>内的innerHTML变量到myText

代码语言:js复制
		                <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
		                <script src="http://apps.bdimg.com/libs/angular.js/1.5.0-beta.0/angular-sanitize.min.js"></script>
		                <body>
			                    <div ng-app="myApp" ng-controller="myCtrl">
				                      <p ng-bind-html="myTwxt"></p>
			                    </div>
		                </body>
		                <script>
			                    var app=angular.module("myApp",['ngSanitize']);
			                        app.controller("myCtrl",function($scope){
				                        $scope.myText = "My name is: <h1>John Doe</h1>";
			                    })
		              </script>

            定义和用法                 ng-bind-html 指令是通过一个安全的方式将内容绑定到HTML元素上。                 语法:<element ng-bind-html="expression"></element>             参数值             值:expression 描述:指定要执行的变量或表达式。

ng-bind-template 描述:规定要使用模板替换的文本内容。             实例:<p元素上绑定两个表达式>

代码语言:js复制
			              <div ng-app="myApp" ng-bind-template="{{firstName}} {{lastName}}" ng-controller="myCtrl"></div>
			              <script>
				                var app = angular.module("myApp",[]);
				                app.controller("myCtrl",function($scope){
					                      $scope.firstName = "John";
					                        $scope.lastName ="Doe";
				                    })
			              </script>

            定义和用法                 ng-bind-template 指令用于告诉AngularJS 将绑定表达式的值替换HTML元素的内容。                 当你想在HTML元素上绑定多个表达式时可以是使用 ng-bind-template指令。                 语法: <element ng-bind-template="expression"></element>                 参数值: 值:expression 描述: 一个或多个要执行的表达式,每个使用{{}}包含。

0 人点赞