国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > WEB開發(fā) > 正文

angularJs基礎(chǔ)(1)

2024-04-27 15:05:02
字體:
供稿:網(wǎng)友
1.模塊和控制器    ng-app 模塊

    ng-controller  控制器

<!DOCTYPE html><html><header>    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>    <!--引入自己的樣式文件CSS-->    <link href="angular_demo1.css" rel="stylesheet">    <!--引入angularJs-->    <script src="angular.min.js"></script>    <!--引入自己的js文件-->    <script src="angualr_demo1.js"></script>    <title>angularJsDemo1</title></header><!--模塊 ng-app指令模塊的起始節(jié)點(diǎn),它里面包含的所有控制器都屬于他管理--><body  ng-app="myApp">     <!--ng-controller指令即控制器,他所在節(jié)點(diǎn)的所有子節(jié)點(diǎn)都?xì)w他管,別人無權(quán)干涉。-->   <div ng-controller="firstController">       <div>按鈕first屬于第一個(gè)控制器,被包含在firstController的節(jié)點(diǎn)之中,點(diǎn)擊彈出alert框</div>       <!-- ng-click angularJs的監(jiān)聽點(diǎn)擊事件的指令,可以卸載任意標(biāo)簽上,       該標(biāo)簽就被設(shè)置了點(diǎn)擊監(jiān)聽,這里設(shè)置點(diǎn)擊了按鈕就會(huì)調(diào)用showAlert()這個(gè)方法,       該方法定義在firstController中-->       <button ng-click="showAlert()">first</button>   </div>   <div ng-controller="SecondController">       <!--第二個(gè)控制器里也有同樣的按鈕事件,但是對(duì)應(yīng)的控制器中沒有定義這個(gè)函數(shù),就不會(huì)有任何反應(yīng)       想要有反應(yīng)就要在第二個(gè)控制器中去定義,這就是控制器。可以把一個(gè)個(gè)作用域獨(dú)立起來,減少數(shù)據(jù)過多       導(dǎo)致混亂。一般開發(fā)中一個(gè)應(yīng)用對(duì)應(yīng)一個(gè)ng-app,應(yīng)用的入口。在他之下有多個(gè)控制器,一個(gè)控制器對(duì)應(yīng)一個(gè)頁面       這里方便觀察寫在一個(gè)頁面中的。-->       <button ng-click="showAlert()">second</button>   </div></body></html>js

/** * Created by wangjiakun on 2016/9/19 0019. */var myApp = angular.module("myApp",[]);// 定義模塊,關(guān)聯(lián)到ng-app對(duì)應(yīng)的那個(gè)模塊中/*.controller(參數(shù)1,參數(shù)2);* 參數(shù)1:對(duì)應(yīng)頁面的ng-controller指令的等于值* 參數(shù)2:回調(diào)函數(shù),頁面對(duì)應(yīng)控制器下的所有邏輯操作都這這里編寫;回調(diào)函數(shù)中的參數(shù)個(gè)數(shù)是可變的*        根據(jù)需要進(jìn)行添加,$scope這個(gè)參數(shù)必不可少,他代表這個(gè)控制器的作用域。* * *//*定義firstController控制器*/myApp.controller("firstController",["$scope","$rootScope",function ($scope,$rootScope) {    /*頁面中有個(gè)點(diǎn)擊事件函數(shù)它屬于第一個(gè)控制器,那就該定義在這個(gè)控制器的$scope上,即當(dāng)前的作用域上面*/    $scope.showAlert = function () {        alert("firstController");    };    /*$rootScope.showAlert = function () {     alert("firstController");     };*/}]);/*定義secondController控制器*/myApp.controller("SecondController",["$scope","$rootScope",function ($scope,$rootScope) {    $scope.showAlert = function () {        alert("SecondController");    };}]);/** $scope和$rootScope* 控制器中的回調(diào)函數(shù)中寫了兩個(gè)參數(shù),說一下他們的區(qū)別。* $scope使當(dāng)前的控制器所管轄的作用域,不在我控制器范圍內(nèi)的節(jié)點(diǎn),是沒有權(quán)限拿到我控制器中定義的數(shù)據(jù)和方法的。* $rootScope是指的應(yīng)用這個(gè)模塊(ng-app)對(duì)應(yīng)的作用域,相當(dāng)于全局變量。定義在它上面的數(shù)據(jù)和方法,他的子作用域都可以訪問。*像上面的例子,兩個(gè)控制器的作用域都屬于$rootScope 的子作用域,仔細(xì)看一下,兩個(gè)控制器都是在myApp這個(gè)變量下定義的,myApp對(duì)應(yīng)的* 又是ng-app這個(gè)指令所對(duì)應(yīng)的模塊。上例中可以把第二個(gè)控制器中的$$scope.showAlert方法注釋掉,應(yīng)為參數(shù)中引入了rootScope,第二個(gè)按鈕就會(huì)* 調(diào)用第一個(gè)控制器中的showAlert方法,當(dāng)然,第一個(gè)控制器中的這個(gè)方法要定義在$rootScope上。* * 定義在$rootScope上的數(shù)據(jù)和方法,myApp下的所有控制器中都可以訪問,當(dāng)該控制器中有相同的方法數(shù)據(jù)時(shí),就會(huì)優(yōu)先是調(diào)用當(dāng)前作用* 域的數(shù)據(jù)和方法。** */完整例子在附件!主要了解作用域,模塊和控制器概念


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 崇文区| 珲春市| 周至县| 五指山市| 邛崃市| 乐平市| 吉隆县| 仪征市| 延寿县| 安平县| 临沭县| 密云县| 松桃| 合山市| 南陵县| 绥棱县| 广宗县| 甘孜县| 兴城市| 江口县| 永年县| 普洱| 兰西县| 嘉荫县| 蒙阴县| 保靖县| 威信县| 新营市| 绵竹市| 萨迦县| 泾源县| 甘孜| 全州县| 雅安市| 伊川县| 福鼎市| 囊谦县| 大石桥市| 偃师市| 桂林市| 台湾省|