当前位置: 首页 > 面试题库 >

将datetimepicker连接到angularjs

郎慎之
2023-03-14
问题内容

我需要使用angular +
bootstrap创建一个带有日期和时间的输入字段。我发现这个日期时间选择器看起来确实很需要我-
日期和时间在一个字段中,并且阻止了用户错误的版本。我写了一条指令,启动了datepickers,但是它改变了视图,并且模型没有改变……我也尝试了onSelect,但是也没有任何反应

<div class="container container-fluid" ng-controller="Ctrl1">
2+2={{2+2}}, var1={{var1}}
    <form class="form-horizontal" novalidate name="form" ng-submit="submit()">
    <div class="well">
        <div id="date" class="input-append" datetimez ng_model="var1">
            <input data-format="MM/dd/yyyy HH:mm:ss PP" type="text" id="input1" name="input1" ng_model="var1"></input>
    <span class="add-on">
      <i data-time-icon="icon-time" data-date-icon="icon-calendar">
      </i>
    </span>
        </div>
    </div>
</form>

</div>

js

var project = angular.module('project',['ui.bootstrap']);

project.directive('datetimez', function() {
    return {
        restrict: 'A',
        require : 'ngModel',
        link: function(scope, element, attrs, ngModelCtrl) {
            $(function(){
                element.datetimepicker({
                    dateFormat:'dd/MM/yyyy hh:mm:ss',
                    language: 'pt-BR',
                    onSelect:function (date) {
                        //alert('zz');
                        ngModelCtrl.$setViewValue(date);
                        scope.$apply();
                    }
                });
            });
        }
    };
});

project.controller('Ctrl1', ['$scope', '$rootScope',  function(scope, rootScope){

    scope.var1="123";

}]);

如何解决?建立联系?


问题答案:

因此,问题是:

  1. 改变ng_modelng-modeldiv id=date元件;
  2. ng_modelinput元素中删除并实现ngModelCtrl.$render功能,以将模型更改呈现给元素
  3. 根据组件文档:

唯一公开的事件是“ changeDate”,它将在事件对象上公开“ date”和“ localDate”属性

因此,您需要以其他方式处理变更事件,请看:

element.datetimepicker({
  dateFormat:'dd/MM/yyyy hh:mm:ss',
    language: 'pt-BR'
  }).on('changeDate', function(e) {
    ngModelCtrl.$setViewValue(e.date);
    scope.$apply();
  });

这是工作中的Plnkr。

一些其他提示:

  1. 如前所述,删除内部ng-model并实施ngModelCtrl.$render以处理模型更改
  2. 使用template属性以封装组件的内部元素

一个使用$ render的非常简单的示例:

var picker = element.data('datetimepicker');

ngModelCtrl.$render = function() {
  if (ngModelCtrl.$modelValue) {
    picker.setLocalDate(ngModelCtrl.$modelValue);
  } else {
    picker.setLocalDate(null);
  }
}


 类似资料:
  • 问题内容: 如何使用SQLAlchemy连接到MS Access?在他们的网站上,它说连接字符串是access + pyodbc。这是否意味着我需要连接pyodbc?由于我是新手,请保持温柔。 问题答案: 从理论上讲,这将通过create_engine(“ access:/// some_odbc_dsn”)进行,但是自从SQLAlchemy 0.5以来,Access后端就一直没有使用过,并且尚不

  • 我需要让一个AsyncIO富函数基于最新的一组规则执行调用。对于像map这样的操作,我能够通过以下博客文章处理一个具有丰富功能的BroadcastConnectedStream:https://flink.apache.org/2019/06/26/broadcast-state.html 但是,创建异步IO函数需要数据流作为输入,而BroadcastConnectedStream不是(https

  • 我正在调试我的网络应用程序,以找出我的一个请求中的网络错误。由于错误发生在库中,我宁愿使用Charles代理,而不是使用命令行。 我的问题是连接是由https完成的,它是不可见的,因为REPL没有通过代理。我试图将-Dhttp.proxy主机和-Dhttp.proxy端口作为参数添加到运行/调试配置中,但没有成功。 其他应用程序正在通过代理正确运行。 我错过了什么选择?

  • 我是nifi的新手,我想将SQL server数据库连接到nifi,并用处理器创建数据流。我怎样才能做到这一点,有没有人能帮我弄清楚这一点。 事先谢谢山姆

  • 我正在尝试将Azure与Android Studio连接起来。我已经按照关于Azure的教程,创建了一个移动服务。然后它给了我一些代码添加到我的应用程序,以便他们连接。但是,代码抛出了一个我无法理解的异常。我从头到脚在网上搜了一遍,也找不到答案。我认为这与依赖项或库的导入方式有关(通过将jar文件粘贴到libs文件夹中并添加依赖项)。 引发异常的代码(由Azure提供):

  • 我正在尝试将 kafka 与 windows 上的 mysql 连接起来。我没有使用汇合。我的 kafka 版本是 2.12 我已经启动了动物园管理员、Kafka、生产者和消费者,这一切都很好用。 我的MysQL版本是8.0.15 我已经在libs文件夹中复制了这3个jar文件 我的源代码quickstart mysql。属性文件代码为 当我运行命令时 我在控制台上收到此错误 请帮助我。 我也试过