带有指令的AngularJS动态表单字段ID不起作用

蜡笔

尝试将指令添加到具有动态ID的输入时,链接方法未正确绑定到该对象。给定以下jsfiddle或html:

<div ng-app="myApp" ng-controller="MyCtrl">
  <p>Date: <input type="text" id="datepicker-{{id}}" datepicker></p>    
</div>

和js:

var module = angular.module('myApp', []);

module.directive('datepicker', function() {
  var linker = function(scope, element, attrs) {
    element.datepicker();
  }

  return {
    restrict: 'A',
    link: linker
  }
});

function MyCtrl($scope) {
  $scope.id = 7
}

我在控制台调试器上看到的是,当链接被调用时,其ID实际上显示为“ datepicker-{{{id}}””,而不是“ datepicker-7”。

有办法强迫这种情况发生吗?一个更好的方法来实现这一点?

更新:应该已经澄清。单击日期选择器会显示出来,但是单击日期不起作用。我收到错误:“此日期选择器未捕获的缺少实例数据”

布赖恩

我相信您需要transclude:true在指令返回对象中,该对象将告诉angular对诸如{{ }}绑定之类的标记进行预处理

您还需要将调用包装到datepicker()中,$timeout以将尝试延迟到下一个角度循环运行之前,以确保在DOM中设置了已转换的ID。

这在jsfiddle中为我工作

var module = angular.module('myApp', []);

module.directive('datepicker', function($timeout) {
    var linker = function(scope, element, attrs) {
        $timeout( function(){
            element.datepicker();
        });
    }

    return {
        restrict: 'A',
        link: linker,
        transclude: true
    }
});

function MyCtrl($scope) {
    $scope.id = 7
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有指令的AngularJS动态表单字段ID不起作用

来自分类Dev

在angularjs中动态添加表单字段不起作用

来自分类Dev

引导动态表单字段不起作用

来自分类Dev

jQuery AutoComplete在动态添加的表单字段中不起作用

来自分类Dev

当我动态创建表单字段时,React 设置状态不起作用

来自分类Dev

使用“表单提交”添加到表单内部时,Bootstrape动态表单字段不起作用

来自分类Dev

验证空白Django表单字段不起作用

来自分类Dev

angularjs中带有复选框的动态表单字段

来自分类Dev

AngularJS-动态创建的指令的“要求”不起作用

来自分类Dev

动态创建的AngularJS ng-repeat指令不起作用

来自分类Dev

AngularJS-动态创建的指令的“要求”不起作用

来自分类Dev

带有$ http的AngularJS指令会导致内存泄漏-.resolve似乎不起作用?

来自分类Dev

AngularJS:双向数据绑定-带有ng-repeat的指令-不起作用

来自分类Dev

带有表达式的AngularJS ng-disabled指令不起作用

来自分类Dev

带有表达式的AngularJS ng-disabled指令不起作用

来自分类Dev

带有形式条件的ng-show在AngularJS中的指令模板上不起作用

来自分类Dev

AngularJS动态表单字段验证

来自分类Dev

Drupal 7表单在迁移后不起作用。提交后,表单字段为空

来自分类Dev

角材料表单不起作用-垫表单字段必须包含MatFormFieldControl

来自分类Dev

带有复选框的Angular 2动态表单不起作用?

来自分类Dev

指令不起作用angularjs

来自分类Dev

指令不起作用angularjs

来自分类Dev

表单字段值的总和在jquery添加的字段中不起作用

来自分类Dev

表单字段值的总和在jquery添加的字段中不起作用

来自分类Dev

maxlength在带有引导程序的html表单输入字段中不起作用

来自分类Dev

maxlength在带有引导程序的html表单输入字段中不起作用

来自分类Dev

angularJS中的动态表单验证不起作用

来自分类Dev

带有Angular指令的HTML在附加时不起作用

来自分类Dev

删除带有指令的特殊字符不起作用 angular

Related 相关文章

  1. 1

    带有指令的AngularJS动态表单字段ID不起作用

  2. 2

    在angularjs中动态添加表单字段不起作用

  3. 3

    引导动态表单字段不起作用

  4. 4

    jQuery AutoComplete在动态添加的表单字段中不起作用

  5. 5

    当我动态创建表单字段时,React 设置状态不起作用

  6. 6

    使用“表单提交”添加到表单内部时,Bootstrape动态表单字段不起作用

  7. 7

    验证空白Django表单字段不起作用

  8. 8

    angularjs中带有复选框的动态表单字段

  9. 9

    AngularJS-动态创建的指令的“要求”不起作用

  10. 10

    动态创建的AngularJS ng-repeat指令不起作用

  11. 11

    AngularJS-动态创建的指令的“要求”不起作用

  12. 12

    带有$ http的AngularJS指令会导致内存泄漏-.resolve似乎不起作用?

  13. 13

    AngularJS:双向数据绑定-带有ng-repeat的指令-不起作用

  14. 14

    带有表达式的AngularJS ng-disabled指令不起作用

  15. 15

    带有表达式的AngularJS ng-disabled指令不起作用

  16. 16

    带有形式条件的ng-show在AngularJS中的指令模板上不起作用

  17. 17

    AngularJS动态表单字段验证

  18. 18

    Drupal 7表单在迁移后不起作用。提交后,表单字段为空

  19. 19

    角材料表单不起作用-垫表单字段必须包含MatFormFieldControl

  20. 20

    带有复选框的Angular 2动态表单不起作用?

  21. 21

    指令不起作用angularjs

  22. 22

    指令不起作用angularjs

  23. 23

    表单字段值的总和在jquery添加的字段中不起作用

  24. 24

    表单字段值的总和在jquery添加的字段中不起作用

  25. 25

    maxlength在带有引导程序的html表单输入字段中不起作用

  26. 26

    maxlength在带有引导程序的html表单输入字段中不起作用

  27. 27

    angularJS中的动态表单验证不起作用

  28. 28

    带有Angular指令的HTML在附加时不起作用

  29. 29

    删除带有指令的特殊字符不起作用 angular

热门标签

归档