Angularjs 为引导UI的uib日期选择器弹出窗口创建包装器指令

Angularjs 为引导UI的uib日期选择器弹出窗口创建包装器指令,angularjs,twitter-bootstrap,datepicker,angular-ui-bootstrap,Angularjs,Twitter Bootstrap,Datepicker,Angular Ui Bootstrap,我正在尝试为Bootstrap UI的uib datepicker弹出窗口创建一个包装器AngularJS指令,这样我就不必在每次需要选择日期时都重新创建一堆样板文件。这是为Angular的早期版本编写的,我在工作中遇到了一些奇怪的事情 我已经得到了一个显示弹出窗口的指令,但是双向数据绑定似乎被破坏了;字段模型中的日期值不会传播到指令中,当您单击弹出窗口并选择日期时,它不会传播回指令中。有人知道这里发生了什么吗 指令代码: app.directive('myDatepicker', functi

我正在尝试为Bootstrap UI的uib datepicker弹出窗口创建一个包装器AngularJS指令,这样我就不必在每次需要选择日期时都重新创建一堆样板文件。这是为Angular的早期版本编写的,我在工作中遇到了一些奇怪的事情

我已经得到了一个显示弹出窗口的指令,但是双向数据绑定似乎被破坏了;字段模型中的日期值不会传播到指令中,当您单击弹出窗口并选择日期时,它不会传播回指令中。有人知道这里发生了什么吗

指令代码:

app.directive('myDatepicker', function() {
  return {
      restrict: 'E',
      scope: {
          model: "=",
          myid: "@"
      },
      templateUrl: 'datepicker.html',
      require: 'ngModel',
      link: function(scope, element) {
          scope.popupOpen = false;
          scope.openPopup = function($event) {
              $event.preventDefault();
              $event.stopPropagation();
              scope.popupOpen = true;
          };

          scope.open = function($event) {
            $event.preventDefault();
            $event.stopPropagation();
            scope.opened = true;
          };

      }
  };
});
模板代码:

<div class="row">
    <div class="col-md-6">
        <p class="input-group">
          <input type="text" class="form-control" id="{{myid}}" uib-datepicker-popup ng-model="model" is-open="opened" ng-required="true"  />
          <span class="input-group-btn">
            <button type="button" class="btn btn-default" ng-click="open($event)"><i class="glyphicon glyphicon-calendar"></i></button>
          </span>
        </p>
    </div>
</div> 

在指令代码中使用ng模型,但在指令模板中查找模型

<my-datepicker ng-model="selected" myid="someid"></my-datepicker>
这是一个正在工作的plunker:


一般来说,我尽量避免在自定义指令上使用model和ng model等名称,因为内置的角度属性应该与自定义属性区分开来

如何将日期选择器选项传递给指令?
app.directive('myDatepicker', function() {
  return {
      restrict: 'E',
      scope: {
          //this line should be ngModel
          model: "=",
          myid: "@"
      },