在我的框架中,函数被调用而没有括号....(参见showErrors)
(function () {
'use strict';
angular
.module('core')
.directive('showErrors', showErrors);
showErrors.$inject = ['$timeout', '$interpolate'];
function showErrors($timeout, $interpolate) {
var directive = {
restrict: 'A',
require: '^form',
compile: compile
};
return directive;
我知道它是如何工作的...但是当我尝试这个时,我的组件不会起作用。它只适用于我将其更改为.component(' hotkeys',HotkeysComponent()); //将括号添加到HotkeysComponent
angular
.module('contacts.components')
.component('hotkeys', HotkeysComponent);
function HotkeysComponent() {
var component = {
templateUrl: '/my-app/contacts/client/views/ui/hotkeys.ui.html',
controller: 'AddManagerController',
controllerAs: 'vm'
};
return component;
澄清一下,除非我做HotkeysComponent()
,否则它不会起作用angular
.module('contacts.components')
.component('hotkeys', HotkeysComponent()); // why don't the other functions need ()?
答案 0 :(得分:1)
可以使用AngularJS模块的class SomeElementFieldSet extends Fieldset implements InputFilterProviderInterface
{
public function init()
{
$this->add(['name' => 'bar']);
$this->add(['name' => 'baz']);
}
public function getInputFilterSpecification()
{
return [
[
'name' => 'bar',
'required' => true,
'validators' => [
['name' => 'NotEmpty']
]
],
[
'name' => 'baz',
'required' => true,
'validators' => [
['name' => 'NotEmpty']
]
]
];
}
}
方法注册组件(由.component()
返回)。该方法有两个参数:
angular.module()
不同
方法,此方法不带工厂功能。)根据你的问题,第二个参数必须是一个对象,只有在你调用函数时才会发生(第二个参数)
Components in angular js 阅读本文以获取更多信息
答案 1 :(得分:0)
两者之间存在很大差异。 const hasItemWhithNullCode = items.some(x => x.code === null);
作为参数提供函数指针,而HotkeysComponent
是值HotkeysComponent()
返回。
一个例子:
HotkeysComponent
这里我们将alert作为函数传递(不是返回值)。现在我们可以在testFunction(variable) {
variable();
}
testFunction(alert);
。
testFunction
这里我们将sum函数的结果传递给函数,我们可以在testFunction中使用它。