• angular 常用指令和方法


    方法

    angular.copy()

    angular.extend(dst,src)  //把src的所有属性复制到dst

    var debug = true,
        Logger = {
            print: function(s) {
                return debug ? s : ‘’ 
           }
        };
    
    app.controller(‘ControllerOne’, [ ‘$scope’, function($scope) {
        // mixin $scope
        angular.extend($scope, Logger);
        // define our $scope
        angular.extend($scope, {
            myVar: 1,
            log: function() { this.print(this.myVar); }
        });
    }]);
    
    app.controller(‘ControllerTwo’, [ ‘$scope’, function($scope) {
        // mixin $scope
        angular.extend($scope, Logger);
        // define our $scope
        angular.extend($scope, {
            myVar: 2,
            log: function() { this.print(this.myVar); }
        });
    }]);
    app.controller(‘ThingController’, [ ‘$scope’, function($scope) {
        // private
        var _thingOne = ‘one’,
            _thingTwo = ‘two’;
    
        // models
        angular.extend($scope, {
            get thingOne() {
            return _thingOne;
            },
            set thingOne(value) {
               if (value !== ‘one’ && value !== ‘two’) {
                 throw new Error(‘Invalid value (‘+value+‘) for thingOne’);
            },
            get thingTwo() {
            return _thingTwo;
            },
            set thingTwo(value) {
               if (value !== ‘two’ && value !== ‘three’) {
                 throw new Error(‘Invalid value (‘+value+‘) for thingTwo’);
            }
       });
    
        // methods
        angular.extend($scope, {
           // in HTML template, something like {{ things }}
           get things() { 
                return _thingOne + ‘ ‘ + _thingTwo; 
            }
        });
    }]);

    指令

    ng-cinclude  //绑定模板  

    $sce.trustAsHtml

    ng-bind-html  //绑定html

    app.filter('to_trusted', ['$sce', function ($sce) {
      return function (text) {
          return $sce.trustAsHtml(text);
      };
    }]);
    
    <p ng-bind-html="currentWork.description | to_trusted"></p>
    var ngBindHtmlDirective = ['$sce', function($sce) {
      return function(scope, element, attr) {
        scope.$watch($sce.parseAsHtml(attr.ngBindHtml), function(value) {
          element.html(value || '');
        });
      };
    }];

    url:https://docs.angularjs.org/api/ng/service/$sce

    服务

    $injector

    //IOC容器, $injector.get("serviceName"),$injector.get("$rootScope")

    $animate.leave(element)

    $httpProvider //可以改变$http 的默认行为

    $route //会监视$location.url(),会是在map在route 中定义的url

     

  • 相关阅读:
    setTimeout 理解
    Git 使用规范流程
    JavaScript异步编程 ( 一 )
    javaScript模块化一
    javascript 知识点坑
    javaScript闭包
    函数式编程
    JavaScript的68个技巧一
    MySql 隐式转换
    MySQL优化
  • 原文地址:https://www.cnblogs.com/yfann/p/4602126.html
Copyright © 2020-2023  润新知