Javascript 使用';要求';在角分量中

Javascript 使用';要求';在角分量中,javascript,angularjs,angular-directive,Javascript,Angularjs,Angular Directive,根据(特别是,将指令与组件进行比较的表格),角度组件允许需要其他指令(或者它只是组件?)。但是,组件没有链接功能,可以访问所需的控制器,与文档相反,似乎表明在创建组件时不可能使用“require”。哪个是真的?引用的来源已经过时。从1.5.0开始,其他组件中的组件控制器(同样适用于指令) 1.5中指南中的一个示例,没有链接的帮助 当一起使用时,所需的控制器实例将作为属性分配给当前控制器 因为这发生在指令链接期间,所以所需的控制器在控制器构造函数中不可用,这就是为什么存在。如果存在,请转到此 两者

根据(特别是,将指令与组件进行比较的表格),角度组件允许需要其他指令(或者它只是组件?)。但是,组件没有链接功能,可以访问所需的控制器,与文档相反,似乎表明在创建组件时不可能使用“require”。哪个是真的?

引用的来源已经过时。从1.5.0开始,其他组件中的组件控制器(同样适用于指令)

1.5中指南中的一个示例,没有
链接的帮助

当一起使用时,所需的控制器实例将作为属性分配给当前控制器

因为这发生在指令链接期间,所以所需的控制器在控制器构造函数中不可用,这就是为什么存在。如果存在,请转到此

两者

声明样式在引擎盖下是标准的,可以在1.5中互换使用,<>代码>组件<代码>是简明的。< /P>

app.directive('someDirective', function () {
  return {
    scope: {},
    bindToController: {},
    controllerAs: 'someDirective',
    require: {
      anotherDirective: '^anotherDirective'
    },
    controller: function ($scope) {
      console.log("You don't see me", this.anotherDirective);

      this.$onInit = function () {
        console.log("Now you do", this.anotherDirective);
      };
    }
  }
});
app.component('someComponent', {
  controllerAs: 'someComponent',
  require: {
    anotherDirective: '^anotherDirective'
  },
  controller: function ($scope) {
    console.log("You don't see me", this.anotherDirective);

    this.$onInit = function () {
      console.log("Now you do", this.anotherDirective);
    };
  }
});