gpt4 book ai didi

javascript - 在 AtScript 中声明 Angular 2.0 装饰器的正确语法是什么?

转载 作者:太空狗 更新时间:2023-10-29 18:00:09 25 4
gpt4 key购买 nike

如何在 Angular 2.x 中创建装饰器指令?我正在针对 Angular 的 alpha 版本编写,并试图重现 AngularJS (1.x) 指令 ngClass 中的功能。下面是我在 Angular 中尝试自己的 NgClass 的片段。我想做的是观察一些表达式的值,这些表达式可能包含类名到 bool 表达式的散列。随着这些表达式的更改,名称将被添加到已应用装饰器的元素的 classList 属性中或从中删除。

这个语法有什么问题?装饰器甚至不是适合这项工作的模板吗,也许我应该创建一个模板指令?尽管如此,用 Angular 声明指令的语法是什么?我会接受 ES5 中的答案,但我更喜欢 ES6 和 AtScript。

就上下文而言,我写这篇文章是为了准备一个演讲,我预览了使用 Angular 2 及更高版本编写应用程序会是什么样子。

@Decorator({
selector: '[ng-class]',
bind: {'NgClass': 'class'},
observe: {'ngClass': 'ngClassChanged'}
})
export class NgClass {
constructor(element:NgElement) {
this.element = element;
}

ngClassChanged(newValue) {
let classNames = [];
if(newValue){
console.log(newValue);
this.element.className = newValue;
}
else {
this.element.className = "";
}

}
}

最佳答案

截至 2015 年 4 月,Angular2 引用文档中的语法为

@Decorator({ selector: '[primary]'}) 
class Primary {
const ructor(field:Field ) { ... }
}

https://github.com/angular/angular/blob/master/modules/angular2/docs/core/02_directives.md

关于javascript - 在 AtScript 中声明 Angular 2.0 装饰器的正确语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28727520/

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