1
我现在正在使用AngularJS和UI Bootstrap,并且我绑定了可爱的'UI-Bootstrap-DatePicker'到我的表的每一行,问题是;当我点击时,它会在每一行打开一个DatePicker的实例。Angular/Bootstrap Datepicker
我认为,因为每一行都有自己的范围,并且这将隔离被触发到该范围内的事件。看来情况并非如此。
这是什么AngularJS方法?我试图简化我的代码到这个例子的最小值。
<script>
// Will go into application.js
(function() {
var app = angular.module("ngListApp", ['ui.bootstrap']);
}());
// Will go into orderController.js
(function() {
var app = angular.module("ngListApp").controller('OrderController', function ($scope) {
$scope.httpOrders = [{OrderId: 1, OrderDate: '1 June 2015'},{OrderId: 12, OrderDate: '2 July 2016'},{OrderId: 123, OrderDate: '3 August 2017'}];
$scope.open = function ($event) {
$event.preventDefault();
$event.stopPropagation();
$scope.opened = true;
};
$scope.format = 'dd-MMMM-yyyy';
});
}());
</script>
<div ng-controller="OrderController">
<table>
<tr ng-repeat="current in httpOrders">
<td><input ng-model="current.OrderId" class="form-control" /></td>
<td class="input-group">
<input type="text" class="form-control" datepicker-popup="{{format}}" ng-model="current.OrderDate" is-open="opened" />
<span class="input-group-btn"><button type="button" class="btn btn-default" ng-click="open($event)"><i class="glyphicon glyphicon-calendar"></i></button></span>
</td>
</tr>
</table>
</div>
欢呼声输入Dom。这里要指出的一点是,它会在每次迭代中在$ scope内创建一个新的订单实例;创建一个新的命名控制器会有意义吗? – NewZeroRiot 2015-04-04 12:44:05
刚刚设法在20秒内用一个新的控制器实现这一点,工作了一段时间。谢了哥们。 – NewZeroRiot 2015-04-04 18:35:51