gpt4 book ai didi

javascript - AngularJS 指令参数 "ctrls"

转载 作者:行者123 更新时间:2023-12-01 15:08:27 25 4
gpt4 key购买 nike

我在 Angular 的指令中看到一个链接函数,如下所示:

link: function (scope, element, attrs, ctrls) {

var ngModelCtrl = ctrls[0],
invalidInputController = ctrls[1];

// ...
}

谁能帮我理解 ctrl 参数中的 Controller 来自哪里?

编辑:该指令有一个 Angular require 属性,通过名称指定另外两个指令,如下所示:

require: ['ngModel', '?numberFormatterPreventInvalidInput'],

我怀疑他们来自那里。

最佳答案

通常它们来自指令的 require 部分,它可以是字符串或 Controller 数组。

['^something', '^another']

link 中,它们可以通过 ctrl[0]ctrl[1] 访问。

同样来自文档:

The basic difference (between controller and link) is that controller can expose an API, and link functions can interact with controllers using require.

Best Practice: use controller when you want to expose an API to other directives. Otherwise use link.

关于javascript - AngularJS 指令参数 "ctrls",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28200182/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com