当前位置: 移动技术网 > IT编程>脚本编程>AngularJs > AngularJS的一些基本样式初窥

AngularJS的一些基本样式初窥

2018年06月18日  | 移动技术网IT编程  | 我要评论

熊孩子惨案,高州高凉岭,异陆云起

显示和隐藏

在 angular 中的一切,都是基于模型的改变,进而通过标识符反映这些变化到界面上。
ng-show 和 ng-hide 可以做相同的事情。显示和隐藏是基于你传递给他们的表达式而定,即,当表达式为 true 时,ng-show 就显示,反之隐藏。当表达式为 true 时,ng-hide 就隐藏,反之显示。这些标识符是通过设置元素的样式 display:block 显示和 display:none 隐藏进行工作的。
css类和样式

通过 {{}} 解析来进行数据绑定,从而能够动态地设置类和样式。
ng-class 和 ng-style

在大型项目中,上面的方式会使得难以管理,以至于不得不同时阅读模版和 javascript 才能正确地创建 css 。
angular 提供了 ng-class 和 ng-style 标识符。他们每一个都需要一个表达式。表达式执行的结果可能是下列之一:

  •     一个字符串,表示空间隔开的类名。
  •     一个类名数组
  •     一个类名到布尔值的映射

选中的行

模版中,我们设置 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>

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网