javascript - Angular 自定义指令数据绑定(bind)

标签 javascript angularjs angularjs-directive

我有一个表单,我试图将日期选择器对象转换为指令。我能够将数据输入到输入中,但它没有将数据与传递给它的范围变量绑定(bind)。这是我的代码。

查看:

<ng-date-picker id-attr="lastRedemptionDate" ng-model="spr.lastRedemptionDate"></ng-date-picker>

指令:

myApp.directive('ngDatePicker', function() {
    return {
        restrict: 'AEC',
        templateUrl: 'assets/angular/directives/datePicker.html',
        replace: true,
        scope: {
            objID: '@idAttr',
            personName: "=ngModel"
        },
        link: function($scope, elem, attrs, controllerInstance) {
            $scope.$apply($scope.method());

            $('.datepicker').datepicker({
                format: 'm/d/yyyy',
                autoclose: true
            });

            console.log($scope);
        }
    }
})

指令模板:

<div class='input-group input-append date'>
    <input type='text' class="form-control datepicker" id="{{ objID }}" value="{{ personName }}" />
    <span class="input-group-addon">
        <span class="glyphicon glyphicon-calendar"></span>
    </span>
</div>

任何帮助将不胜感激。

最佳答案

使用 ngModel 指令将模型绑定(bind)到输入而不是值属性:

<div class='input-group input-append date'>
    <input type='text' class="form-control datepicker" ng-model="personName" id="{{ objID }}" />
    <span class="input-group-addon">
        <span class="glyphicon glyphicon-calendar"></span>
    </span>
</div>

关于javascript - Angular 自定义指令数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31194486/

相关文章:

javascript - 两个 JS 库之间的代码冲突

javascript - 如何提高打字机效果速度?并增加光标大小?

javascript - 使用 NOT(!) 运算符时出现“赋值左侧无效”错误

javascript - 在 Angular Directive(指令)中提交表单

javascript - ng-transclude 在模板 AngularJS 中不起作用

jquery - 在 AngularJS 指令中选择元素的子元素

javascript - chromecast 如何连接到 chrome 发件人,为什么它似乎会增加 session 变量?

java - 使 index.html 成为路径的一部分

javascript - 动态创建单选按钮并选择适当的按钮 Angularjs

javascript - Angular 从 MVC JsonResult 获取数据