ngChange 不适用于 kendo.toolbarOptions 中定义的 kendo-date-picker

Posted

技术标签:

【中文标题】ngChange 不适用于 kendo.toolbarOptions 中定义的 kendo-date-picker【英文标题】:ngChange doesn't work for kendo-date-picker which defined in kendo.toolbarOptions 【发布时间】:2017-05-04 03:27:26 【问题描述】:

我想将ngChange事件绑定到kendo-date-picker,即toolbarOptions中定义的日期选择器,但是ngChange不起作用。

 $scope.toolbarOptions = 
        items: [
            template: "<label>From</label>"
        , 
            template: "<input id='start' kendo-date-picker ng-model='dateString' k-ng-model='dateObject' ngChange='startChange()' />",
            overflow: "never"
        ];

 $scope.startChange = function() console.log('changed');
 
 function startChange() console.log('changed');

请检查我的代码,两个 startChange 都不起作用。有一个 ReferenceError: startChange is not defined

【问题讨论】:

【参考方案1】:

您正在使用 ngChange,请使用 ng-change 进行更改,例如:-

$scope.toolbarOptions = 
    items: [
        template: "<label>From</label>"
    , 
        template: "<input id='start' kendo-date-picker ng-model='dateString' k-ng-model='dateObject' ng-change='startChange()' />",
        overflow: "never"
    ];

    $scope.startChange = function() console.log('changed');

或者如果你想调用 javascript 函数,那么你必须在使用之前定义你的 js 函数

  angular.module("KendoDemos", [ "kendo.directives" ])
  .controller("MyCtrl", function($scope)

        $scope.toolbarOptions = 
          items: [
             template: "<label>From</label>"
            , 
            template: "<input id='start' handle-change kendo-date-picker ng-model='dateString' k-ng-model='dateObject' onChange='startChange()' />",
        overflow: "never"
          ]

        ;
    ).directive('handleChange',function()
    return
       link:function(scope,ele,attr)
         //you can use this
            //ele.on('change',function()
              //alert(555)
           //)
      //or
      function startChange() console.log('changed');
    
  
 );

【讨论】:

尝试了第二个解决方案,仍然抛出异常 startChange is not defined 你可以尝试新的更新代码,添加“handle-change”指令 感谢您的回复。我的控制器很大,toolbarOptions里面还有很多其他的项目,有没有优雅的方法? 您可以在父 div 中使用此指令,例如

以上是关于ngChange 不适用于 kendo.toolbarOptions 中定义的 kendo-date-picker的主要内容,如果未能解决你的问题,请参考以下文章

如何仅在用户完成键入时才调用 angularjs ngChange 处理程序

Tensorflow - 多 GPU 不适用于模型(输入),也不适用于计算梯度

为啥 UITableViewAutomaticDimension 不适用于 sectionFooterHeight?

为啥排序不适用于矢量?

验证不适用于 saveMany

UipanGesture 不适用于 Uiswitch