如何限制自定义指令的可能属性值
How can I restrict the possible attribute values of a custom directive?
当前我正在尝试:
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");
}
};
});
但有没有一种"更有棱角"的方式?
当您有一组可以传递给指令的值(如枚举)时,您应该使该集对控制器和指令都可用。
例如,如果只能传递某些颜色,则应创建一个颜色常量,并将该常量注入控制器和指令中。从控制器将其传递给指令,并在指令中对照颜色常量集合进行检查。
我不认为你能让支票本身更容易,或者更像"棱角分明的方式"。但是,您可以创建一个工厂方法来检查颜色是否是来自常量的有效颜色。
相关文章:
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 全局变量和全局对象的属性之间有什么区别吗
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 如何限制自定义指令的可能属性值
- 带有 A 限制的指令的属性
- 有效限制..循环到特定属性键
- 向复选框属性添加数字并限制选中复选框的数量
- 限制Sailsjs中可接受的模型属性
- 隔离限制为属性的指令的作用域
- 如何在设置多个属性时限制更改事件的数量
- 在Javascript中限制main对象对其属性的属性的访问
- 在javascript中通过class属性应用样式时是否有限制?
- Parse:如何在Parse中限制对对象的某些属性的访问
- 为什么fetchXml count属性没有限制返回的记录?
- & # 39;调用者# 39;和& # 39;参数# 39;是受限制的函数属性,不能在此上下文中访问
- 是将class属性仅用于javascript目的,还是应该限制在CSS中使用?
- 如何为具有多个属性的输入类型文件设置文件限制
- 在 JavaScript 中使用重排隐藏元素,它与 CSS 隐藏属性有何不同
- 字符限制-title属性
- 限制访问'style'属性