所以我有这个指令:
app.directive('customDropdown', function() {
return {
restrict: 'E',
templateUrl: '/static/templates/directive_templates/customdropdown.html',
link: function(scope, element, attrs) {
console.log(attrs.custom-class);
}
}
})
标记:
<custom-dropdown custom-class="custom-select-menu">
</custom-dropdown>
但是,由于console.log(attrs.custom-class)
我得到了问题中提到的错误。当我将custom-class
更改为custom
时,它就会消失。知道错误突然出现的原因吗?不能使用连字符?
答案 0 :(得分:0)
attrs.custom-class
custom-class不是javascript中的有效标识符。所以你有两个选择:
将自定义类重命名为其他内容而不需要用于宣传。
使用括号语法:attrs['custom-class']
答案 1 :(得分:0)
这意味着您必须通过在文件开头写入“use strict”或使用块范围声明的函数来声明严格模式。
function test(){
"use strict";
let a = 1;
}