AngularJs中的ng-toggle

切換狀態(tài)在前端開發(fā)中很常見,現(xiàn)在流行的網(wǎng)站中好多都用到了toggle。大多數(shù)的時(shí)候,我們需要實(shí)現(xiàn)點(diǎn)擊一個(gè)元素(一個(gè)按鈕),使得另一個(gè)DOM元素顯示和隱藏。根據(jù)這種業(yè)務(wù)需求,我相信有很多種方法來實(shí)現(xiàn)。在這篇文章中,我將分享幾個(gè)用JQuery和AngularJs實(shí)現(xiàn)它的技巧。

一、用JQuey實(shí)現(xiàn)

HTML:

<body>
    <button>Custom</button>
    <span>From:
        <input type="text" id="from" />
    </span>
    <span>To:
        <input type="text" id="to" />
    </span>
</body>

CSS:

span {
    display: none;
}
.show {
    display: inline-block;
}

JS:

$("button").on("click", function () {
    var state = $(this).data('state');
    state = !state;
    if (state) {
        $("span").addClass("show");
    } else {
        $("span").removeClass("show");
    }
    $(this).data('state', state);
});

當(dāng)我們來到AngularJs的世界,我們會(huì)發(fā)現(xiàn)它與JQuery實(shí)現(xiàn)非常不同而且有趣。當(dāng)然,有很多種不同的方法實(shí)現(xiàn)它。下面是我用AngularJs實(shí)現(xiàn)ng-toggle的小技巧。
二、用AngularJs實(shí)現(xiàn)

HTML:

<body ng-app="ngToggle">
    <div ng-controller="AppCtrl">
        <button ng-click="toggleCustom()">Custom</button>
        <span ng-hide="custom">From:
            <input type="text" id="from" />
        </span>
        <span ng-hide="custom">To:
            <input type="text" id="to" />
        </span>
        <span ng-show="custom"></span>
    </div>
</body>

JS:

angular.module('ngToggle', [])
    .controller('AppCtrl',['$scope', function($scope){
        $scope.custom = true;
        $scope.toggleCustom = function() {
            $scope.custom = $scope.custom === false ? true: false;
        };
}]);

原文地址:http://geniuscarrier.com/ng-toggle-in-angularjs/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 通過jQuery,您可以選取(查詢,query)HTML元素,并對(duì)它們執(zhí)行“操作”(actions)。 jQuer...
    枇杷樹8824閱讀 670評(píng)論 0 3
  • AngularJS是什么?AngularJs(后面就簡(jiǎn)稱ng了)是一個(gè)用于設(shè)計(jì)動(dòng)態(tài)web應(yīng)用的結(jié)構(gòu)框架。首先,它是...
    200813閱讀 1,647評(píng)論 0 3
  • 一、介紹 AngularJS是一款由Google公司開發(fā)維護(hù)的前端MVC框架,其克服了HTML在構(gòu)建應(yīng)用上的諸多不...
    福爾摩雞閱讀 809評(píng)論 0 2
  • 昨天開始,進(jìn)入三九天,氣溫瞬間驟降,寒風(fēng)呼呼地刮,真的就像刀割一樣。 穿了秋褲,戴上圍巾,雙手插兜,倒也不冷。關(guān)鍵...
    土川兄一終身建設(shè)閱讀 1,178評(píng)論 4 0
  • 要離開巴城這個(gè)地方了,在這里已經(jīng)有五年了。有眼淚,有安慰。有失敗,也有得勝。有苦難,也有祝福。有羞辱,也有榮耀!神...
    凌賢武閱讀 362評(píng)論 0 0