gpt4 book ai didi

javascript - 如何限制自定义指令可能的属性值?

转载 作者:行者123 更新时间:2023-11-28 07:31:04 24 4
gpt4 key购买 nike

目前我正在尝试:

module.directive('myDirective', function() {
return {
scope: { foo: '@' },
template: '{{foo}}',
link: function(scope) {
if (scope.foo != 'first' && scope.foo != 'second')
throw new Error("Only values 'first' and 'second' allowed for attribute 'foo' of myDirective");
}
};
});

但是有没有一种“更有棱 Angular ”的方式呢?

最佳答案

当您有一组可以传递给指令的值(例如枚举)时,您应该使该组值可供 Controller 和指令使用。

例如,如果您只能传递某些颜色,则应该创建一个颜色常量并将该常量注入(inject) Controller 和指令中。从 Controller 将其传递给指令,并在指令中检查颜色常量集合。

我认为您无法使检查本身变得更容易,或者更像“Angular 方式”。但是,您可以创建一个工厂方法来检查颜色是否是常量中的有效颜色。

关于javascript - 如何限制自定义指令可能的属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29124895/

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