AngularJS 讓人愛(ài)不釋手的八種功能

字號(hào):


    八種AngularJS讓人愛(ài)不釋手的功能分享給大家,供大家參考,具體內(nèi)容如下
    第一 迭代輸出之ng-repeat標(biāo)簽
    ng-repeat讓table ul ol等標(biāo)簽和js里的數(shù)組完美結(jié)合
    <ul>
    <li ng-repeat="person in persons">
    {{person.name}} is {{person.age}} years old.
    </li>
    </ul>
    你甚至可以指定輸出的順序:
    <li ng-repeat="person in persons | orderBy:'name'">
    第二 動(dòng)態(tài)綁定之ng-model標(biāo)簽
    任何有用戶(hù)輸入,只要是有值的html標(biāo)簽,都可以動(dòng)態(tài)綁定js中的變量,
    而且是動(dòng)態(tài)綁定。
    <input type="text" ng-model='password'>
    對(duì)于綁定的變量,你可以使用{{}} 直接引用
    <span>you input password is {{password}}</span>
    如果你熟悉fiter,你可以很容易的按你的需要格式輸出
    <span>{{1288323623006 | date:'yyyy-MM-dd HH:mm:ss Z'}}</span>
    第三 綁定點(diǎn)擊事件之ng-click事件
    使用ng-click你可以很容易的為一個(gè)標(biāo)簽綁定點(diǎn)擊事件。
    <button ng-click="pressMe()"/>
    當(dāng)然前提是你要在$scope域中定義的自己的pressMe方法。
    和傳統(tǒng)的onclick方法不同,你甚至可以為ng-click方法傳遞一個(gè)對(duì)象,就像這樣:
    <ul>
    <li ng-repeat="person in persons">
    <button ng-click="printf(person)"/>
    </li>
    </ul>
    當(dāng)然還有ng-dblclick標(biāo)簽
    第四 分支語(yǔ)句之ng-switch on、ng-if/ng-show/ng-hide/ng-disabled標(biāo)簽
    分支語(yǔ)句讓你在界面上都可以寫(xiě)邏輯判斷。
    <ul>
    <li ng-repeat="person in persons">
    <span ng-switch on="person.sex">
    <span ng-switch-when="1">you are a boy</span>
    <span ng-switch-when="2">you are a girl</span>
    </span>
    <span ng-if="person.sex==1">you may be a father</span>
    <span ng-show="person.sex==2">you may be a mother</span>
    <span>
    please input your baby's name:<input type="text" ng-disabled="!person.hasBaby"/>
    </span>
    <span>
    </li>
    </ul>
    第五 校驗(yàn)語(yǔ)法之ng-trim ng-minlength ng-maxlength required ng-pattern 等標(biāo)簽
    表單中的輸入框,你可以使用上面的標(biāo)簽來(lái)實(shí)現(xiàn)對(duì)用戶(hù)輸入的校驗(yàn)。
    從字面意思上你已經(jīng)知道了它們的意思。
    <form name="yourForm">
    <input type="text" name="inputText" required ng-trim="true" ng-model="userNum" ng-pattern="/^[0-9]*[1-9][0-9]*$/" ng-maxlength="6" maxlength="6"/>
    </form>
    你可以通過(guò) $scope.yourForm.inputText.$error.required 來(lái)判斷輸入框是否為空
    你可以通過(guò) $scope.yourForm.inputText.$invalid 來(lái)判斷輸入的內(nèi)容是否滿(mǎn)足ng-pattern,ng-maxlength,maxlength
    你通過(guò)$scope.userNum獲得的輸入內(nèi)容是去掉前后空白的,因?yàn)閚g-trim的存在。
    第六 下拉框之ng-options標(biāo)簽
    ng-options是為下拉框?qū)iT(mén)打造的標(biāo)簽。
    代碼如下:
    <select ng-model="yourSelected" ng-options="person.id as person.name in persons"></select>
    下拉框中顯示的是person.name,當(dāng)你選中其中一個(gè)的時(shí)候,你可以通過(guò)yourSelected得到你選中的person.id.
    第七 控制css之ng-style標(biāo)簽
    ng-style幫你輕松控制你的css屬性
    <span ng-style="myColor">your color</span>
    你可以通過(guò)給myColor賦值的形式來(lái)改變你想要的效果,就像這樣:
    $scope.myColor={color:'blue'};
    $scope.myColor={cursor: 'pointer',color:'blue'};
    第八 異步請(qǐng)求之$http對(duì)象
    AngularJS 提供了一個(gè)類(lèi)似jquery的$.ajax的對(duì)象,用于異步請(qǐng)求。
    在AngularJS中對(duì)異步操作是推崇至極的,所以$http的操作都是異步的不像jquery.ajax里還提供了async參數(shù)。
    $http({method : 'POST',params : { id:123}, data:{name:'john',age:27}, url : "/mypath"})
    .success(function(response, status, headers, config){
    //do anything what you want;
    })
    .error(function(response, status, headers, config){
    //do anything what you want;
    });
    如果你是POST請(qǐng)求,params里的數(shù)據(jù)會(huì)幫你拼到url后面,data里的數(shù)據(jù)會(huì)放到請(qǐng)求體中。
    看完之后是不是已經(jīng)愛(ài)不釋手了,那就好好的把這些應(yīng)用到自己的項(xiàng)目中吧!