带属性的简单AngularJS指令不起作用

时间:2015-03-17 14:24:08

标签: angularjs

我创建了一个简单的指令,传递了一些参数,但是我的参数没有从Usage代码传递给Template。 (它们不会显示在页面上,也不会显示错误)。我也用过' @'而不是' ='但没有真正的改善。

我只想在我的指令代码中显示我的属性参数:)。 谢谢你的帮助。

使用代码:

<fine-faulty-directive fineCount='111' finePercentage='11' 
faultCount='222' faultPercentage='11'></fine-faulty-directive>

指令代码:

Application.Directives.directive('fineFaultyDirective', function () {
    return {
        restrict: 'E',
        templateUrl: 'src/Dashboard/Views/fine_faulty.html',
        //replace: true,
        scope: {
            fineCount: '=',
            finePercentage: '=',
            fauntCount: '=',
            faultPercentage: '='
        },
        link: function (scope, elem, attrs) {
            console.log(scope);

        }
    };
});

简单templateURL:

{{faultPercentage}}%  - {{faultCount}}

2 个答案:

答案 0 :(得分:3)

属性fineCount,finePercentage,faultCount,faultPercentage是规范化名称(例如指令名称),因此如果要将其设置为元素,则每个属性名称必须是精细计数,精细百分比,故障计数,故障百分比...

我希望我能帮忙。

答案 1 :(得分:0)

因为

<fine-faulty-directive fineCount='111' finePercentage='11' 
faultCount='222' faultPercentage='11'></fine-faulty-directive>

AngularJS会将 finePercentage 转换为 finepercentage ,将 fineCount 转换为 finecount

要避免此类情况,请使用精细百分比而不是 finePercentage 精细计数而不是 fineCount

注意:属性中驼峰大小写的所有属性都应该用 - 或:分隔,这样你就可以在JS代码中获得驼峰大小写。