为什么指令中的数据名称会出错?

时间:2015-02-21 23:54:09

标签: angularjs angularjs-directive

我在html文件中有这个:

<prevalence ng-if="model.mode == 'Prevalence'" data="prevalenceData" colors="colors" maxL="maxL"></prevalence>

并在指令maxL undefined中。如果我将L改为l =&gt; maxL到maxl它的定义。 可能是什么原因?我在一些变化上测试它,并得到它是给我问题的大写字母。

在指令js文件中有:

angular.module('x').directive('prevalence', [function () {
    return {
        restrict: 'E',
        replace: true,
        scope: {
            data: '=',
            colors: '=',
            maxL: '='
        },

谢谢!

1 个答案:

答案 0 :(得分:1)

将HTML中的maxL属性更改为max-l,如下所示:

<prevalence ng-if="model.mode == 'Prevalence'" data="prevalenceData" colors="colors" max-l="maxL"></prevalence>

HTML不区分大小写,因此角度编译器假定您的指令中的camelCase属性在HTML中为实际camel-case虚线。