Angular.js入门的样例

感觉这下子,前端的路也宽多了,从容不迫了。

因为可控制的节点又推前了,

有空了好好学一下。

然后结合EXPRESS或METEOR,是不是有点爽?

参考URL:

https://toddmotto.com/ultimate-guide-to-learning-angular-js-in-one-day/

html

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>JS Bin</title>
  <script src="js/angular.min.js"></script>
  <script src="js/script.js"></script>
</head>
<body ng-app="myApp">
  <div >
    <div ng-controller="MainCtrl">
      {{ text }}
      <p> {{ data1.length > 0 && 'My data' || 'No data' }} </p>
      <p> {{ data2.length > 0 && 'My data' || 'No data' }} </p>
      <ul>
          <li ng-repeat="number in numbers | filter:oddNumber">
              {{ number }}
          </li>
          <input type="text" ng-model="myModel" placeholder="Start typing..." />
          <p>My model data: {{ myModel }} </p>
          <li ng-repeat="number in numbers | filter:greaterThanNum">
              {{ number }}
          </li>
      </ul>
    </div>
    <div ng-controller="XHRCtrl">
      {{ ubb.ubbname }}
      <a href="" ng-click="toggle = !toggle">Toggle nav</a>
        <ul ng-show="toggle">
            <li>LINK 1</li>
            <li>LINK 2</li>
            <li>LINK 3</li>
            <li>LINK 4</li>
        </ul>
    </div>
    <div ng-controller="EmailCtrl">
      <ul>
          <li ng-repeat="message in emails.messages">
              <p>From: {{ message.from }}</p>
              <p>Subject: {{ message.subject }}</p>
              <p>{{ message.sent | date:'MMM d, y h:mm:ss a' }}</p>
              <a ng-click="deleteEmail($index)"> Delete email </a>
          </li>
      </ul>

    </div>
    <div ng-controller="MathCtrl">
      {{ result }}
    </div>
    <div ng-controller="FacCtrl">
      {{ result }}dgf
    </div>
    <div ng-controller="FilCtrl">
      <p>No filter: {{ greeting }}</p>
      <p>Reverse: {{ greeting | reverse }}</p>
    </div>
    <div ng-controller="UserCtrl">
      <p class="username"> Welcome, {{ user.details.username }} </p>
      <p class="id">User ID: {{ user.details.id }} </p>
    </div>
    <a custom-button>Click me</a>

  </div>
</body>

</html>

 

js

var myApp = angular.module('myApp', []);

myApp.controller('MainCtrl', ['$scope', function ($scope) {
    $scope.text = "Heloo, Angular fanitic.";
    $scope.numbers = [10, 25, 35, 45, 60, 80, 100];
    $scope.lowerBound = 42;
    $scope.greaterThanNum = function(item) {
        return item > $scope.lowerBound;
    };
    $scope.myModel = '';
    $scope.data1 = [];
    $scope.data2 = "my dole data";
}]);

myApp.controller('XHRCtrl', ['$scope', '$http', function($scope, $http) {
    $scope.ubb = {};
    $scope.ubb.ubbname = '';
    $http({
        method: 'GET',
        URL: 'http://127.0.0.1/templates/customButton.html'
    })
    .success(function(data, status, headers, config) {
        $scope.ubb.ubbname = 'from ajax data';
    })
    .error(function(data, status, headers, config) {
        $scope.ubb.ubbname = 'from ajax error data';
    });
}]);

myApp.controller('EmailCtrl', ['$scope', function($scope) {
    $scope.emails = {};
    $scope.emails.messages = [{
        "from": "Steve Jobs",
        "subject": "I think I'm holding my phone wrong.",
        "sent": "2015-12-01T08:05:59Z"
    }, {
        "from": "Ellie Goulding",
        "subject": "I got Starry Eyes. lulz",
        "sent": "2015-11-01T08:05:59Z"
    },{
        "from": "Michal Stipe",
        "subject": "Everybody hurts, simteime",
        "sent": "2015-11-05T08:05:59Z"
    }];
    $scope.deleteEmail = function(index) {
        $scope.emails.messages.splice(index, 1);
    };
}]);

myApp.controller('UserCtrl', ['$scope', function ($scope) {
    $scope.user = {};
    $scope.user.details = {
        "username": "Chen Gang",
        "id": "8910112"
    };
}]);
myApp.service('Math', function() {
    this.multiply = function(x, y) {
        return x * y;
    };
});
myApp.controller('MathCtrl', ['$scope', 'Math', function($scope, Math) {
    var a = 12;
    var b = 245;
    var result = Math.multiply(a, b);
    $scope.result = result;
}]);
myApp.factory('Server', ['$http', function($http) {
    return {
        get: function(URL) {
            return $http.get(URL);
        },
    };
}]);

myApp.controller('FacCtrl', ['$scope', 'Server', function($scope, Server) {
    var jsonGet = 'http://127.0.0.1/templates/customButton.html';
    Server.get(jsonGet);
}]);

myApp.filter('reverse', function() {
    return function(Input, uppercase) {
        var out = '';
        for(var i = 0; i < Input.length; i++) {
            out = Input.charAt(i) + out;
        }
        if(uppercase) {
            out = out.toUpperCase();
        }
        return out;
    }
});

myApp.controller('FilCtrl', ['$scope', function($scope) {
    $scope.greeting = 'Todd Motto';
}]);

myApp.directive('customButton', function() {
    return {
        restrict: 'A',
        replace: true,
        transclude: true,
        template: '<a href="http://www.baidu.com" class="myawesomebutton" ng-transclude>' +
                            '< i class="icon-ok-sign"><i>' +
                            '</a>',
        link: function(scope, element, attrs) {
        }
    };
});

截图:

时间: 2024-09-30 14:54:00

Angular.js入门的样例的相关文章

《SAP入门经典(第5版)》——2.4 SAP业务流程样例

2.4 SAP业务流程样例 为了让您了解为什么公司要花费这么多时间和金钱,投入这么多人力引进SAP,本节介绍几种常用的业务流程.在每个情景中,您将看到公司的最终用户如何在日常工作中使用SAP应用运行公司的业务.更多细节参见第11章. 2.4.1 执行员工自助服务功能最常见的业务情景包括员工查看和更改自己的个人记录.SAP NetWeaver Portal提供了一个称作iViews的特殊视图,使员工可以轻松地创建.显示和更改自己的个人记录(假定他们已经得到了权限).例如,员工可以更改家庭地址或者电

(翻译)Angular.js为什么如此火呢?

在本文中让我们来逐步发掘angular为什么如此火:       Angular.js 是一个MV*(Model-View-Whatever,不管是MVC或者MVVM,统归MDV(model Drive View))JavaScript框架,其是Google推出的SPA(single-page-application)应用框架,其为我们的web应用开发增加不少魔法变换. 我可以花整天的时间告诉你为什么你必须在新项目尝试angular.js,但是我觉得还是百说不如一练. 数据绑定和scopes(作

任务调度SchedulerX系列之QuartZ时间表达式语法与样例说明

目   录 Quartz时间表达式入门... 1 Quartz时间表达式格式详解... 2 Quartz表达式中的特殊字符... 3 * 星号... 3 ? 问号... 3 , 逗号... 4 / 斜杠... 4 - 中划线... 5 L 字母... 5 W 字母... 6 # 井号... 6 QuartZ时间表达式样例... 7 分钟的 Cron 表达式... 7 天的 Cron 表达式... 7 周和月的 Cron 表达式... 7       Quartz时间表达式入门 时间格式 <s m

Javascript表单特效之十大常用原理性样例代码大总结_javascript技巧

案例一:全选等 运用知识点:ondblclick=()| onclick | 寻找标签属性及判断和函数的应用 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> </head> <body> <div> <input type="button" value="

PHP 框架,第 2 部分: 构建样例应用程序

"PHP 框架" 系列将介绍三个广泛使用的 PHP 框架 -- Zend.symfony 和 CakePHP -- 通过在三个框架中构建和扩展样例应用程序,研究三个框架的类似之处和不同之处.第 1 部分将列出本系列涵盖的内容并且配置先决条件.在第 2 部分中,您将分别在三个框架中构建样例应用程序. 在本系列的 第 1 部分 中,我们已经设定了本系列的范围并满足了先决条件.现在,将分别在三个框架中构建样例应用程序.在接下来的几篇文章里,将扩展应用程序.了解不符合常规的例外情况.使用 Aj

HTML5中使用Canvas的使用样例1 (画布定义、绘制直线)

1,Canvas的定义 <canvas id="myCanvas" width="400" height="200"> 默认<canvas>画布在页面上会显示一块空白.无边框的矩形.为了让其显示轮廓,通过定义样式规则给其添加一个虚线边框: canvas {     border: 1px dashed black; } 2,获取Canvas的上下文对象 要完成绘图任务,首先我们要拿到<canvas>对象,接着取

适合我胃口的angular.js学习资料

断断续续弄了半年的ANGULAR.JS学习资料,网上下载了N多资料,测试了很多次. 现在只能算是入门,因时间问题,现在要转入其它领域. 如果以后要拾起来,下面这个PDF比较对我胃口. <AngularJS Essentials> 以后要用时,注意找来看哈. 因为很多东东讲得又熟,又透,一步一步的弄进去了的.  

使用Angular.js开发的注意事项_AngularJS

前言 近期一直在玩Angularjs,不得不说,相对于Knockout,Angularjs这一MVVM框架更强大,也更复杂,各种教程网上到处都是,不过真正用到项目的时候会遇到各种坑. 一.ng-repeat ng-repeat 用于标识某个 elem 需要重复输出,同时重复输出的内容需为唯一 <div ng-app="app" ng-controller="control"> <h3 ng-repeat="content in repea

MaxCompute模板与样例

1. 简介 MaxCompute : 是一种快速.完全托管的数据仓库解决方案,用户可以通过SQL, MR, UDF等接口与其交互. MaxCompute Studio : 是MaxCompute平台提供的安装在开发者客户端的大数据集成开发环境(IDE),是用户与MaxCompute交互的高效工具. 代码模板:让用户更加高效的写一些固定模式的代码,简化很多重复的代码,以提高编码效率. 代码示例:一例胜千言,帮助用户快速熟悉语法,可参考示例编写自己的程序,快速上手. 代码模板和示例是用户熟悉新产品和