ホームページ  >  記事  >  ウェブフロントエンド  >  AngularJS_AngularJS のいくつかの基本スタイルの概要

AngularJS_AngularJS のいくつかの基本スタイルの概要

WBOY
WBOYオリジナル
2016-05-16 15:48:401207ブラウズ

表示と非表示

Angular のすべてはモデルへの変更に基づいており、これらの変更は識別子を通じてインターフェイスに反映されます。
ng-show と ng-hide でも同じことができます。表示と非表示は、渡された式に基づいています。つまり、式が true の場合、ng-show はそれを表示し、それ以外の場合は非表示にします。式が true の場合、ng-hide は非表示になり、それ以外の場合は表示されます。これらの識別子は、表示するには display:block を使用して要素をスタイル設定し、非表示には display:none を使用して要素をスタイル設定することによって機能します。
CSS クラスとスタイル

データ バインディングは {{}} 解析を通じて実行され、クラスとスタイルを動的に設定できるようになります。
NG クラスと NG スタイル

大規模なプロジェクトでは、上記のアプローチは管理できなくなる可能性があり、CSS を正しく作成するにはテンプレートと JavaScript の両方を読み取る必要があります。
Angular は、ng クラスと ng スタイルの識別子を提供します。それぞれに式が必要です。式の実行結果は次のいずれかになります:

  • スペースで区切られたクラス名を表す文字列。
  • クラス名の配列
  • クラス名のブール値へのマッピング

選択された行

テンプレートでは、ng-class の値を {selected:$index==selectedRow} に設定します。モデルが selectedRow を呼び出すと、ng-repeat の $index と一致し、選択されたスタイルが表示されます。同様に、ng-click を設定して、ユーザーがどの行をクリックしたかをコントローラーに通知します。
src と href の提案

ng-src と ng-href の使用をお勧めします。

<img ng-src="/img/01.png">
<a ng-href="www.segmentfault.com">segmentfault</a>

すべてのソースコード

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>angular demo</title>
  <script src="http://cdn.bootcss.com/angular.js/1.3.0-beta.8/angular.min.js"></script>
</head>
<body>
  <div id="App1" ng-app="shoppingCart" ng-controller="ShoppingCartController">
    <h1>Your demo</h1>
    <!-- demo 1 -->
    <div ng-show='menuState.show'>another another another</div>
    <button ng-click="test2()">切换</button>

    <hr><!-- demo 2 -->
    <style type="text/css">
      .menu-disabled-true{
        opacity:1;
        color: red;
        -webkit-transition:all 1000ms linear;
        -moz-transition:all 1000ms linear;
        -o-transition:all 1000ms linear;
      }
      .menu-disabled-false{
        opacity: 0;
        -webkit-transition:all 1000ms linear;
        -moz-transition:all 1000ms linear;
        -o-transition:all 1000ms linear;
      }
    </style>
    <div class="menu-disabled-{{isDisabled}}">adfadfadasda</div>
    <button ng-click="test()">隐藏</button>
    <button ng-click="test1()">显示</button>
    <button ng-click="test11()">切换</button>

    <hr><!-- demo 3 -->
    <style type="text/css">
    .error {
      background-color: red;
    }
    .warning {
      background-color: yellow;
    }
    </style>
    <div ng-class='{error:isError, warning:isWarning}'>{{messageText}}</div>
    <button ng-click="showError()">error</button>
    <button ng-click="showWarning()">warning</button>

    <hr><!-- demo 4 -->
    <style type="text/css">
      .selected{
        background-color: lightgreen;
      }
    </style>
    <div ng-repeat="item in items" ng-class='{selected:$index==selectedRow}' ng-click='selectedWhich($index)'>
      <span>{{item.product_name}}</span>
      <span>{{item.price | currency}}</span>
    </div>
  </div>

  <script>
    var shoppingCartModule = angular.module("shoppingCart", [])
    shoppingCartModule.controller("ShoppingCartController",
      function ($scope) {
        // demo 1
        $scope.menuState = {'show':true};
        $scope.test2 = function () {
          $scope.menuState.show = !$scope.menuState.show;
        };

        // demo 2
        $scope.isDisabled = true;
        $scope.test = function () {
          $scope.isDisabled = 'false';
        };
        $scope.test1 = function () {
          $scope.isDisabled = 'true';
        };
        $scope.test11 = function () {
          $scope.isDisabled = !$scope.isDisabled;
        };

        // demo 3
        $scope.isError = false;
        $scope.isWarning = false;
        $scope.messageText = 'default, default';
        $scope.showError = function () {
          $scope.messageText = 'This is an error';
          $scope.isError = true;
          $scope.isWarning = false;
        };
        $scope.showWarning = function () {
          $scope.messageText = 'Just a warning, donot warry';
          $scope.isWarning = true;
          $scope.isError = false;
        };

        // demo 4
        $scope.items = [
          { product_name: "Product 1", price: 50 },
          { product_name: "Product 2", price: 20 },
          { product_name: "Product 3", price: 180 }
        ];
        $scope.selectedWhich = function (row) {
          $scope.selectedRow = row;
        }
      }
    );
  </script>
</body>
</html>

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。