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