javascript – 在角度分量中使用’require’

前端之家收集整理的这篇文章主要介绍了javascript – 在角度分量中使用’require’前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
根据 the docs(具体来说,比较指令与组件的表),角度分量允许需要其他指令(或仅仅是组件?).但是,组件没有链接功能,可以访问所需的控制器. The source与文档相反,似乎表明在创建组件时不可能使用“require”.哪个是真的?

解决方法

引用的来源是过时的.从1.5.0开始,其他组件中的组件控制器 can be required(同样适用于指令).

一个例子从指导@L_502_3@在1.5没有援助从链接.

require object and bindToController一起使用时,所需的控制器实例将作为属性分配给电流控制器.

因为在指令链接期间发生这种情况,控制器构造函数中不需要所需的控制器,所以$onInit magic method就在那里.如果存在,则为it is executed right after adding required controllers.

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);
    };
  }
});

声明样式在引擎盖下,可以在1.5中互换使用,组件是简洁的.

猜你在找的JavaScript相关文章