[AngularJS] Exploring the Angular 1.5 .component() method

Angualr 1.4:

复制代码
.directive('counter', function counter() {
  return {
    scope: {},
   restrict: 'EA',
transclude: true, bindToController: { count:
'=' }, controller: function () { function increment() { this.count++; } function decrement() { this.count--; } this.increment = increment; this.decrement = decrement; }, controllerAs: 'counter', template: [ '<div class="todo">', '<input type="text" ng-model="counter.count">', '<button type="button" ng-click="counter.decrement();">-</button>', '<button type="button" ng-click="counter.increment();">+</button>', '</div>' ].join('') }; });
复制代码

 

Angualr1.5:

复制代码
.compoment('counter',  {
    bindings: {
      count: '='
    },
    controller: function () {
      function increment() {
        this.count++;
      }
      function decrement() {
        this.count--;
      }
      this.increment = increment;
      this.decrement = decrement;
    },
    controllerAs: 'vm',
    template: function($element, $attrs){
      return [
      '<div class="todo">',
        '<input type="text" ng-model="vm.count">',
        '<button type="button" ng-click="vm.decrement();">-</button>',
        '<button type="button" ng-click="vm.increment();">+</button>',
      '</div>'
    ].join('');
    },
    // restrict: 'E',
    // transclude: true
});
复制代码

 

  • Direcitve need pass in function, compoment need pass in object.
  • 'scope' and 'bindToController' can be replaced with just 'bindings'
  • by default restrict: 'E'
  • by default transclude: true
  • by default, if not given controllerAs, angular will create for you and name is the same as compoment name
posted @   Zhentiw  阅读(384)  评论(0编辑  收藏  举报
(评论功能已被禁用)
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
历史上的今天:
2014-12-21 [AngularJS] Directive with Transcluded Elements
2014-12-21 [AngularJS] Build Your Own ng-controller Directive
2014-12-21 [AngularJS] Html ngSanitize, $sce
点击右上角即可分享
微信分享提示