具有angularJS组件1.5的组件控制器中$ element和$ attrs的用途

温尼马卡

我正在努力提高1.5角组件的速度。我一直在关注todd Motto的视频,以开始了解组件以及angular的文档https://docs.angularjs.org/guide/component

在这一点上,似乎组件正在取代使用控制器的指令,但是在我们的1.5代码中,我们仍将使用指令进行dom操作。

组件控制器内部的$ element,$ attrs的用途是什么?这些似乎可用于操纵。这是文档的链接。我知道他们没有使用$ element,但这是我正在阅读的示例。http://plnkr.co/edit/Ycjh1mb2IUuUAK4arUxe?p=preview

但是在这样的代码中...

 angular
  .module('app', [])
  .component('parentComponent', {
    transclude: true,
    template: `
      <div ng-transclude></div>
    `,
    controller: function () {
      this.foo = function () {
        return 'Foo from parent!';
      };
      this.statement = function() {
        return "Little comes from this code";
      }
    }
  })
  .component('childComponent', {
    require: {
      parent: '^parentComponent'
    },
    controller: function () {

      this.$onInit = function () {
        this.state = this.parent.foo();
        this.notice = this.parent.statement();
      };
    },
    template: `
      <div>
        Component! {{ $ctrl.state }}
        More component {{$ctrl.notice}}
      </div>
    `
  })

如果我们不操纵dom,$ element的用途是什么?

三木

这是个好问题。我对此有一个简单的答案。

它们发生在组件中只是因为Component是指令周围的语法糖

在添加有角度的组件之前,我对指令使用了某种组件语法,这就像一个约定,在我们的项目中,我们有两种指令,一种负责DOM操作,第二种是带有模板的指令,这些模板不应进行操作DOM。添加组件后,我们只不过更改了名称。

因此Component,无非就是创建为新实体的简单指令:

  1. 始终有模板
  2. 范围始终是孤立的
  3. 限制永远是要素

我认为您可以在角度源中找到更多答案,但我建议您不要混合使用这些实体,并且如果需要在组件内部操作DOM,只需在内部使用指令即可。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

angularJs组件和控制器

来自分类Dev

无法在控制器中包含和使用组件的方法

来自分类Dev

Angularjs 控制器和模板封装 vs Angular 组件

来自分类Dev

angularJS指令中控制器的用途是什么

来自分类Dev

控制器中的Emberjs-1.0组件和计算属性

来自分类Dev

如何使用Angular 1.5和Typescript在组件控制器中获取绑定值?

来自分类Dev

如何使用Angular 1.5和Typescript在组件控制器中获取绑定值?

来自分类Dev

如何防止在 ember 中控制器和组件之间的嵌套数组对象同步

来自分类Dev

如何在ASP.NET Core中的视图组件(具有输入文件的表单)和控制器之间进行交互?

来自分类Dev

Ember在视图组件和控制器之间进行通信

来自分类Dev

EmberJS关于控制器,服务和组件使用的建议

来自分类Dev

$ on非组件控制器中的更改

来自分类Dev

angularjs 1.5中组件控制器中的访问解析

来自分类Dev

如何在AngularJS中实例化控制器组件?

来自分类Dev

具有多个组件/基于组件1和2选择的第3个组件项的UIPickerView

来自分类Dev

获取Laravel 5中所有控制器和动作的列表

来自分类Dev

从控制器访问组件

来自分类Dev

有没有办法使Ember服务可用于所有路由,控制器和组件?

来自分类Dev

Spring MVC中具有URL版本控制的控制器继承和模糊映射

来自分类Dev

AngularJS中的控制器和过滤器模块

来自分类Dev

控制器和angularjs中的视图之间的连接

来自分类Dev

Angular 混合应用程序,带有模板功能的升级组件未收到 $element 或 $attrs

来自分类Dev

将控制器对象绑定到ember中的组件

来自分类Dev

将控制器对象绑定到ember中的组件

来自分类Dev

Cake:以组件中的静态方法访问控制器

来自分类Dev

Spring:服务组件在控制器中返回null

来自分类Dev

通过emberJS中的控制器修改组件的属性

来自分类Dev

我无法从ExtJS的控制器中获取组件

来自分类Dev

组件中的CakePHP 2.6访问控制器对象

Related 相关文章

  1. 1

    angularJs组件和控制器

  2. 2

    无法在控制器中包含和使用组件的方法

  3. 3

    Angularjs 控制器和模板封装 vs Angular 组件

  4. 4

    angularJS指令中控制器的用途是什么

  5. 5

    控制器中的Emberjs-1.0组件和计算属性

  6. 6

    如何使用Angular 1.5和Typescript在组件控制器中获取绑定值?

  7. 7

    如何使用Angular 1.5和Typescript在组件控制器中获取绑定值?

  8. 8

    如何防止在 ember 中控制器和组件之间的嵌套数组对象同步

  9. 9

    如何在ASP.NET Core中的视图组件(具有输入文件的表单)和控制器之间进行交互?

  10. 10

    Ember在视图组件和控制器之间进行通信

  11. 11

    EmberJS关于控制器,服务和组件使用的建议

  12. 12

    $ on非组件控制器中的更改

  13. 13

    angularjs 1.5中组件控制器中的访问解析

  14. 14

    如何在AngularJS中实例化控制器组件?

  15. 15

    具有多个组件/基于组件1和2选择的第3个组件项的UIPickerView

  16. 16

    获取Laravel 5中所有控制器和动作的列表

  17. 17

    从控制器访问组件

  18. 18

    有没有办法使Ember服务可用于所有路由,控制器和组件?

  19. 19

    Spring MVC中具有URL版本控制的控制器继承和模糊映射

  20. 20

    AngularJS中的控制器和过滤器模块

  21. 21

    控制器和angularjs中的视图之间的连接

  22. 22

    Angular 混合应用程序,带有模板功能的升级组件未收到 $element 或 $attrs

  23. 23

    将控制器对象绑定到ember中的组件

  24. 24

    将控制器对象绑定到ember中的组件

  25. 25

    Cake:以组件中的静态方法访问控制器

  26. 26

    Spring:服务组件在控制器中返回null

  27. 27

    通过emberJS中的控制器修改组件的属性

  28. 28

    我无法从ExtJS的控制器中获取组件

  29. 29

    组件中的CakePHP 2.6访问控制器对象

热门标签

归档