angular ng指令


1.指令

ng-app,ng- 都是angular的指令系統
ng-app: ng-appangular的初始化,一個頁面只能有一個ng-app,位置不限制。在頁面上加入了這個執行,那么從當前的元素以及兒子元素,都交給angular管理,不賦值的話,會有一個默認模塊。
ng-app="myApp"這里如果加了自定義的名字,那么必須創建對應的模塊。
ng-model:雙向綁定數據

ng-init:給字段賦予初始值。ng-init=”val=0”。

ng-bind:單向綁定,只能用於標簽如果要在單標簽上使用,那么我們就使用表達式,表達式有一個閃爍的問題,它渲染在html的雙標簽位置。{{}}的作用一樣顯示數據。

寫法有:ng-bind  data-ng-bind  x-ng-bind

{{表達式}}:用於顯示數據。

一次性數據綁定{{::表達式}}

ng-controller控制器,鏈接數據的的橋梁

ng-bind

ng-cloak

ng-bind-template

ng-bind-html

http://www.bootcdn.cn/angular.js/

 

不同於以上的功能性指令,Angular還定義了一些用於和事件綁定的指令:

- ng-blur失去焦點

- ng-change發生改變

- ng-copy 拷貝完成

- ng-click單擊

- ng-dblclick雙擊

- ng-focus 得到焦點

- ng-submit

ng-click/dblclick

ng-mousedown/up

ng-mouseenter/leave

ng-mousemove/over/out

ng-keydown/up/press

ng-focus/blur

ng-submit

2.指令閃爍 ng-cloak

解決表達式閃爍的問題

 1. Class=”ng-cloak”

2.在對應的標簽中加上 ng-cloak指令即可。

雖然ng-bind 能解決 {{}} 閃現的問題,但是 ng-bind不能用單標簽 ng-bind 只能用於雙標簽,在單標簽上是無法解決
  在單標簽上,為了解決閃現表達的可以使用 ng-cloak,也可以在表標簽上加上 class="ng-cloak"

<input type="text" ng-model="name" ng-cloak/>

3.ng-class ng-class-even ng-class-odd

ng-class 實現多個選擇多個 {"red":true,"font":true}
如果值為True表示可用,否則false 不可以用
ng-class {"A":red,"B":green}[A] 多選擇一個樣式

    

<li ng-repeat="x in data" ng-class='{a:"blue",b:"green",c:"pink"}[x.main]'>{{x.title}}</li>
$scope.data=[ {title:"標題", main:"a"}, {title:"標題1", main:"b"}, {title:"標題2", main:"c"} ];

 

4.ng-repeat 指令

js控制器里定義一個data數據:

angular.module("myApp",[]).controller("testContoller",function($scope){
    $scope.data=[
        {title:"標題", main:"主要內容"},
        {title:"標題1", main:"主要內容1"},
        {title:"標題2", main:"主要內容2"}
        ]
});

 

 第一種使用:

<p ng-repeat="a in data" ng-cloak>{{a.title}},{{a.main}}</p>

 第二種使用:

如果使用ng-repeat-start那么必須要結合ng-repeat-end

<div ng-repeat-start="o in data"></div>
<p ng-cloak>{{o.title}}</p>
<div ng-repeat-end=""></div>

 

<ul>

    <li ng-repeat="obj in data" ng-class="$even==true?'pink':obj.color " >{{obj.name}}</li>

</ul>

$even:奇數行$even的值為true,偶數行為false;

$odd:奇數行$odd的值為false,偶數行為true;

5.ng-show ng-hide

ng-show :默認值是隱藏;布爾值為true時顯示
ng-hide:默認值是顯示;布爾值為true時隱藏

<div ng-show>測試盒子</div>

6.ng-if

ng-if:值為true的時候顯示,為false時該元素及其所有子元素被移除;默認為false

<div  ng-if="true">測試盒子</div>

<p ng-if="false">
    2222
    <span>11111</span>
</p>

 

7.ng-switch

<!--當data.name為1時,第一個span顯示,當輸入的data.name為2時第二個span顯示-->

<div ng-switch="data.name">
    <input type="text" ng-model="data.name"/><br/>
    <span ng-switch-when="1">{{data.names}}</span>
    <span ng-switch-when="2">{{data.namess}}</span>
</div>

$scope.data={
   name:"",
    names:"張三",
    namess:"小明"
}

 

8.ng-checked

9.ng-include

語法

<element ng-include="filename" onload="expression" autoscroll="expression" ></element>

ng-include 指令作為元素使用:

<ng-include src="filename" onload="expression" autoscroll="expression" ></ng-include>

所有的 HTML 元素都支持該指令。

參數值

 

描述

filename

文件名,可以使用表達式來返回文件名。

onload

可選, 文件載入后執行的表達式。

autoscroll

可選,包含的部分是否在指定視圖上可滾動。

 

10.ng-copy

元素文本被拷貝時執行的表達式。

<element ng-copy="expression"></element>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM