麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

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

Angularjs筆記

2024-04-27 15:13:10
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

這里是參照慕課網(wǎng)大漠窮秋老實(shí)的的視頻Angularjs實(shí)戰(zhàn)視頻

1.index.html文件 一般用于加載js文件 其中并不需要太多的代碼 ion-nav-view可以滿足加載視圖2.在js目錄中 每個(gè)js文件的分工都明確 例如 controller.js 中只放控制器 可能是多個(gè) route.js中主要是路由 同樣也可能是多個(gè)3.路由中ngRoute和uiRoute的選擇和區(qū)別 route的引包順序 必須至于angular.js的后面  uiRoute相對(duì)ngRoute來(lái)說(shuō)可以嵌套更深層次的路由 ngRoute是angular自帶的路由 而uiRoute是根據(jù)ngRoute開發(fā)的第三方插件
4.directive :自定義指令

angular.module('MyApp',[])    .controller('MyCtrl',function($scope){        $scope.Name="";    })    .directive("hello",function(){//自定義標(biāo)簽 directive        return{            restrict:'EACM',//E:作為元素名使用,A:作為屬性使用,C:作為類名使用,M:作為注釋使用,默認(rèn)為EA            transclude:true,            template:'<div>他的名字是<span ng-bind="Name"></span><div ng-transclude></div></div>',            replace:'true'//是否刪除外層的自定義標(biāo)簽        }    })    //run方法 當(dāng)所注冊(cè)器加載完所有模塊時(shí) 會(huì)執(zhí)行一次.run(function($templateCache){    $templateCache.put("hello.html","<div>Hello Everyone!!</div>")})
在template中拼接太多的html標(biāo)簽會(huì)顯得累贅且可讀性差 所以可以用templateUrl在后面直接跟html文件的地址
templateUrl:'hello.html',
如果希望在自定義標(biāo)簽中顯示html標(biāo)簽 那么可以再directive中添加屬性transclude↑↑↑
5.例:當(dāng)鼠標(biāo)進(jìn)入或者穿過(guò)元素時(shí) 執(zhí)行加載事件
angular.module('MyApp',[])    .controller('MyCtrl',function($scope){        $scope.Name="";        $scope.loadData = function(){            console.log("正在加載數(shù)據(jù)。。。。。。");        }    })
   .directive("loader",function(){        return{            restrict:"AEMC",            link:function(scope,element,attr){//scope指的$scope element指的當(dāng)前directive元素 attr這個(gè)元素的屬性                element.bind("mouseenter",function(){//bind() 方法為被選元素添加一個(gè)或多個(gè)事件處理程序,并規(guī)定事件發(fā)生時(shí)運(yùn)行的函數(shù)。mouseenter:鼠標(biāo)進(jìn)入事件                    scope.loadData();//scope.apply("loadData")                })            }        }     })
如果同時(shí)有兩個(gè)控制器想用該標(biāo)簽 但是因?yàn)榭刂破鞑煌?標(biāo)簽不同 可以采用賦予屬性的方法 例如:
<loader howToLoad="loadData()">加載數(shù)據(jù)</loader>
scope.$apply(attrs.howtoload);//要寫成小寫6.ng的form指令
	和原生的form的區(qū)別
		6.1:HTML原生的表單是不能嵌套的 而ng封裝后的表單是可以嵌套的
		6.2:ng為表單擴(kuò)展了校驗(yàn)和防止重復(fù)提交功能
		6.3:ng對(duì)input的type進(jìn)行了擴(kuò)展(text,number,url,email,radio,checkbox,hidden,button,submit,reset)
		6.4:ng為表單內(nèi)置了4種CSS樣式(ng-invalid:字段內(nèi)容是非法的,ng-PRistine:表單沒(méi)有填寫記錄,ng-dirty:表單有填寫記錄,ng-valid:字段內(nèi)容合法的)		
		6.5:內(nèi)置了校驗(yàn)器(require:不能為空,minlength:最小長(zhǎng)度,maxlength:最大長(zhǎng)度)
	設(shè)置按鈕是否可用:ng-disabled
7.$http
	一個(gè)簡(jiǎn)單的http請(qǐng)求
 $scope.GetList = function(){           $http.get("Hello.json").success(function(data){                console.log(data);           }).error(function(data){                console.log(data);           })        }
8.filter自定義
	html的代碼:
	<p>{{1239123 | filter1 }}</p>	js的代碼:
    .filter("filter1",function(){        return function (item){            return item+"O(∩_∩)O~~"        }    })
最后頁(yè)面上成功顯示1239123O(∩_∩)O~~
如果沒(méi)有自定義 可以直接用 例如
<p>{{1239123 | date:"yyyy-MM-dd hh-mm-ss"}}</p>
頁(yè)面顯示
1970-01-01 08-20-39
	
				

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 污视频在线免费播放 | 蜜桃视频在线免费播放 | 九九热精品视频在线 | 91短视频版高清在线观看免费 | 国产一区二区三区撒尿在线 | 91av在线免费 | 亚洲午夜1000理论片aa | 日韩.www| 久久久资源网 | 麻豆视频免费网站 | 久久精品国产精品亚洲 | 国产大片中文字幕在线观看 | 国产小视频在线观看 | 中文字幕亚洲一区二区三区 | 小情侣嗯啊哦视频www | 免费网站看v片在线a | 女人裸体让男人桶全过程 | 巨乳激情| 九草视频 | 羞羞视频免费网站入口 | 欧美人的天堂一区二区三区 | 视频国产一区二区 | 国产精品久久久久久久久久iiiii | 国产免费一区二区三区网站免费 | 精品亚洲免费 | hdhdhd79xxxxх| 黄网站在线观 | 久久成人国产精品入口 | 欧美一级黑人 | 美女亚洲综合 | 男女生羞羞视频网站在线观看 | 久久吊 | 亚洲综合无码一区二区 | 插插操 | 国产精品视频在线观看免费 | 欧美 国产 综合 | 蜜桃一本色道久久综合亚洲精品冫 | 中文字幕在线观看91 | 久久精品国产99久久久古代 | xp123精品视频 | 最新黄色电影网站 |