• Angular.js学习笔记


      1 <!DOCTYPE html>
      2 <html lang="en">
      3 <head>
      4     <title>AngularJS</title>
      5     <!--学习地址-->
      6     <!--http://www.yiibai.com/angularjs/angularjs_includes.html-->
      7     <!--http://docs.angularjs.cn/api/ng/filter/filter-->
      8     <!--http://docs.angularjs.cn/api/ng-->
      9     <!--推荐使用工具 vs2015 或 WebStorm-->
     10     <!--加载框架-->
     11     <script src="/Scripts/tool/angularjs/Angular.js"></script>
     12     <script>
     13         // 注册控制器
     14         var mainApp = angular.module("mainApp", []);
     15         mainApp.controller("Controller", function ($scope) {
     16             $scope.model = {
     17                 title: "Angular",
     18                 fullName: function () {
     19                     var obj;
     20                     obj = $scope.model;
     21                     return obj.title + " name";
     22                 }
     23             };
     24             $scope.student = {
     25                 firstName: "MyStudend",
     26                 amount: 51
     27             };
     28         });
     29         mainApp.factory('m', function () {
     30             var factory = {};
     31             factory.multiply = function (a, b) {
     32                 return a * b;
     33             }
     34             return factory;
     35         });
     36 
     37 
     38 
     39 
     40     </script>
     41 </head>
     42 <body ng-app="mainApp">
     43     <h2>模型 - model</h2>
     44     <p>
     45         <b>模型是负责管理应用程序的数据。它响应来自视图的请求,同时也响应指令从控制器进行自我更新。</b>
     46     </p>
     47     <h2>视图 - view</h2>
     48     <p>
     49         <b>在一个特定的格式的演示数据,由控制器决定触发显示数据。它们是基于脚本的模板系统,如JSP,ASP,PHP,非常容易使用AJAX技术的集成。</b>
     50     </p>
     51     <h2>控制器 - controller</h2>
     52     <p>
     53         <b>控制器负责响应于用户输入并执行交互数据模型对象。控制器接收到输入,它验证输入,然后执行修改数据模型的状态的业务操作。</b>
     54     </p>
     55     <p>注意点:angular.module("mainApp", [])这样的注册只能有一次,其他地方使用会报错</p>
     56     <p>ng-app:设定作用域</p>
     57     <p>ng-model:设定模型变量</p>
     58     <p>ng-controller:设置某个控制器的作用域</p>
     59     <p>ng-bind:绑定模型</p>
     60     <p>ng-init:初始化应用程序数据</p>
     61     <p>ng-repeat:重复集合中的每个项目的HTML元素。用于迭代(循环)</p>
     62     <p>ng-disabled:禁用</p>
     63     <p>ng-show:显示</p>
     64     <p>ng-hide:隐藏</p>
     65     <p>ng-click:单击事件</p>
     66     <p>ng-dbl-click:双击事件</p>
     67     <p>ng-mousedown:当鼠标指针移动到元素上方,并按下鼠标按键时,会发生 mousedown 事件</p>
     68     <p>ng-mouseup:当在元素上放松鼠标按钮时,会发生 mouseup 事件</p>
     69     <p>ng-mouseenter:当鼠标指针穿过元素时,会发生 mouseenter 事件</p>
     70     <p>ng-mouseleave:当鼠标指针离开元素时,会发生 mouseleave 事件</p>
     71     <p>ng-mousemove:当鼠标指针在指定的元素中移动时,就会发生 mousemove 事件</p>
     72     <p>ng-mouseover:当鼠标指针位于元素上方时,会发生 mouseover 事件</p>
     73     <p>ng-keydown:当键盘或按钮被按下时,发生 keydown 事件</p>
     74     <p>ng-keyup:当按钮被松开时,发生 keyup 事件。它发生在当前获得焦点的元素上</p>
     75     <p>ng-keypress:当键盘或按钮被按下时,发生 keypress 事件</p>
     76     <p>ng-change:当元素的值发生改变时,会发生 change 事件</p>
     77 
     78     <!--控制器-->
     79     <div ng-controller="Controller">
     80         <p>模型1</p>
     81         <p>
     82             Hello {{'World'}} {{6666}}!
     83         </p>
     84         <p>模型2</p>
     85         <p>
     86             <input type="text" ng-model="name" placeholder="World" />
     87             Hello {{name || 'World'}}!
     88         </p>
     89         <p>模型3</p>
     90         <p>
     91             <ul>
     92                 <li ng-repeat="item in [0, 1, 2, 3, 4, 5, 6, 7]">{{item}}
     93                 </li>
     94             </ul>
     95         </p>
     96         <p>模型4</p>
     97         <p>
     98             {{model.title}}<br />
     99             {{model.fullName()}}
    100         </p>
    101         <p>模型5</p>
    102         <p>
    103             <input ng-model="model.title" type="text" /><br />
    104             <span ng-bind="model.title"></span>
    105         </p>
    106         <p>模型6</p>
    107         <p>
    108             <div ng-app="myapp01" ng-init="countries=[{locale:'en-US',name:'United States'},{locale:'en-GB',name:'United Kingdom'},{locale:'en-FR',name:'France'}]">
    109                 {{countries}}
    110                 <br />
    111                 {{countries[0].name}} 
    112             </div>
    113         </p>
    114         <script>
    115             //自定义注册过滤器
    116             mainApp.filter('filter', function () {
    117                 return function (input) {
    118                     if (input) {
    119                         return 'filter:"' + input + '"';
    120                     }
    121                     return '';
    122                 }
    123             });
    124         </script>
    125         <p>模型7</p>
    126         <p>
    127             大写过滤: {{student.firstName | uppercase}}<br />
    128             小写过滤: {{student.firstName | lowercase}}<br />
    129             货币过滤: {{student.amount | currency}}<br />
    130             自定义过滤: {{student.firstName | filter}}<br />
    131             排序过滤:<br />
    132             <ul ng-repeat="i in [{name:'b'}, {name:'ab'}, {name:'a'}, {name:'bs'}] | orderBy:'name'">
    133                 <li>{{i.name}}</li>
    134             </ul>
    135         </p>
    136         <p>模型8</p>
    137         <p ng-controller="TestController">
    138             <input type="checkbox" ng-model="enableDisableButton" />Disable Button
    139             <input type="radio" ng-model="enableDisableButton" />Disable Button
    140             <button ng-disabled="enableDisableButton">Click Me!</button>
    141             <br />
    142             <input type="checkbox" ng-model="showHide1" />Show Button
    143             <button ng-show="showHide1">Click Me!</button>
    144             <br />
    145             <input type="checkbox" ng-model="showHide2" />Hide Button
    146             <button ng-hide="showHide2">Click Me!</button>
    147             <br />
    148             <div ng-controller="TestController">
    149                 <p>Total click: {{ clickCounter }}</p>
    150                 <button ng-click="clickCounter = clickCounter + 1">Click Me!</button>
    151                 <button ng-click="clickTest()">Click Me!</button>
    152             </div>
    153             <script>
    154                 mainApp.controller("TestController", function ($scope) {
    155                     $scope.clickTest = function () {
    156                         $scope.clickCounter = $scope.clickCounter || 0;
    157                         $scope.clickCounter = $scope.clickCounter + 1;
    158                     };
    159                 });
    160             </script>
    161         </p>
    162         <p>模型9</p>
    163         <p>
    164             <script>
    165                 // 注册工厂
    166                 mainApp.factory('MathService', function () {
    167                     var factory = {};
    168                     factory.multiply = function (a, b) {
    169                         return a * b;
    170                     }
    171                     return factory;
    172                 });
    173 
    174                 //注册服务
    175                 mainApp.service('CalcService', function (MathService) {
    176                     this.square = function (a) {
    177                         return MathService.multiply(a, a);
    178                     }
    179                 });
    180 
    181                 mainApp.controller('CalcController', function ($scope, CalcService) {
    182                     $scope.square = function () {
    183                         $scope.result = CalcService.square($scope.number);
    184                     }
    185                 });
    186             </script>
    187             <div ng-controller="CalcController">
    188                 <p>
    189                     Enter a number:
    190                 <input type="number" ng-model="number" />
    191                     <button ng-click="square()">X<sup>2</sup></button>
    192                 <p>Result: {{result}}</p>
    193             </div>
    194         </p>
    195         <p>
    196             <script>
    197                 //
    198                 mainApp.value("defaultInput", 5);
    199                 //常量
    200                 mainApp.constant("configParam", "constant value");
    201                 mainApp.controller('CalcController', function ($scope, CalcService, defaultInput) {
    202                     $scope.number = defaultInput;
    203                     $scope.result = CalcService.square($scope.number);
    204                     $scope.square = function () {
    205                         $scope.result = CalcService.square($scope.number);
    206                     }
    207                 });
    208             </script>
    209         </p>
    210         <p>模型10</p>
    211         <p>
    212             <script>
    213                 //Create a directive, first parameter is the html element to be attached.      
    214                 //We are attaching student html tag. 
    215                 //This directive will be activated as soon as any student element is encountered in html
    216                 mainApp.directive('student', function () {
    217                     //define the directive object
    218                     var directive = {};
    219                     //restrict = E, signifies that directive is Element directive
    220                     directive.restrict = 'E';
    221                     //template replaces the complete element with its text. 
    222                     directive.template = "Student: <b>{{student.name}}</b> , Roll No: <b>{{student.rollno}}</b>";
    223                     //scope is used to distinguish each student element based on criteria.
    224                     directive.scope = {
    225                         student: "=name"
    226                     }
    227                     //compile is called during application initialization. AngularJS calls it once when html page is loaded.
    228                     directive.compile = function (element, attributes) {
    229                         element.css("border", "1px solid #cccccc");
    230                         //linkFunction is linked with each element with scope to get the element specific data.
    231                         var linkFunction = function ($scope, element, attributes) {
    232                             element.html("Student: <b>" + $scope.student.name + "</b> , Roll No: <b>" + $scope.student.rollno + "</b><br/>");
    233                             element.css("background-color", "#ff00ff");
    234                         }
    235                         return linkFunction;
    236                     }
    237                     return directive;
    238                 });
    239                 mainApp.controller('StudentController', function ($scope) {
    240                     $scope.Mahesh = {};
    241                     $scope.Mahesh.name = "Mahesh Parashar";
    242                     $scope.Mahesh.rollno = 1;
    243 
    244                     $scope.Piyush = {};
    245                     $scope.Piyush.name = "Piyush Parashar";
    246                     $scope.Piyush.rollno = 2;
    247                 });
    248             </script>
    249             <div ng-app="mainApp" ng-controller="StudentController">
    250                 <student name="Mahesh"></student>
    251                 <br />
    252                 <student name="Piyush"></student>
    253             </div>
    254         </p>
    255     </div>
    256 </body>
    257 </html>
  • 相关阅读:
    c++中,map的使用
    关于C++中vector<vector<int> >的使用
    python中如何向shell脚本传递带空格的参数
    数组初始化及赋值的方法,memset的使用
    leetcode:首个缺少的最小正整数(js实现。)
    安装cmake过程出错:Error when bootstrapping CMake: Cannot find a C++ compiler that supports both C++11 and the specified C++ flags.
    React系列--三大属性 props refs state
    React系列--组件Component
    React系列--jsx语法及虚拟dom,渲染
    c++的复制构造函数,(郑莉 c++语言程序设计)
  • 原文地址:https://www.cnblogs.com/liuxiaoji/p/4661512.html
Copyright © 2020-2023  润新知