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