将参数传递给angularjs中的指令?

时间:2015-08-18 13:56:44

标签: javascript jquery angularjs angularjs-directive

我想将参数传递给angularjs中的指令。

我在stackoverflow Angularjs - Pass argument to directive

上找到了一些线程

但这对我没有帮助。

指令:

app.directive('datePicker', function () {
    return {
        restrict: 'E',
        replace: true,
        template: '<input type="text" class="form-control" ng-model="modelValue">',
        scope: {
            modelValue: '=',
            format: '@',
        },
        link: function (scope, element, form) {
            $(element).datepicker({
                dateFormat: format,
            });
        }
    }
})

元素:

<date-picker model-value="salary.month" format='MM-YYYY'></date-picker>

在这里,我想使用format作为属性来传递directive,因此我可以使用不同格式的相同date-picker指令。

我已尝试使用上面的代码示例,模型值正在运行,但格式无效。

请帮我找到解决方案

1 个答案:

答案 0 :(得分:3)

您应该使用scope.format来检索格式属性的值

link: function (scope, element, form) {
    $(element).datepicker({
        dateFormat: scope.format,
    });
}