mddialog 中的 ng-repeat 重复多次
ng-repeat in mddialog repeats itself multiple times
我在 angular 材质对话框 (mdDialog) 中使用 ng-repeat 时遇到问题。 ng-repeat,根据数组的长度重复自己,如果有4个元素,那么它会运行多次。
我想要的是打印一个复选框列表:
这是我的 html 代码:
<div id="tourDateForm" class="col-md-12 hidden">
<md-dialog>
<md-toolbar>
</md-toolbar>
<md-dialog-content>
<form id="tourForm" class="dialogContent">
<input type="hidden" name="id" ng-model="id">
<label for="ticket">Ticket</label>
<label ng-repeat="ticketd in ticketData">
<input type="checkbox" name="ticket" value="" required>
{{ticketd.test}}
</label>
</form>
</md-dialog-content>
<md-dialog-actions>
</md-dialog-actions>
</md-dialog>
还有我的控制器:
var tours = angular.module('tourDates', ['ngMaterial']);
tours.controller('tourDateCtrl', ['$scope','$mdDialog', function ($scope, $mdDialog) {
$scope.ticketData = [{test:1},{test:2}, {test: 3}, {test: 4}];
$scope.showForm = function (ev) {
$mdDialog.show({
controller: DialogController,
scope: $scope,
preserveScope: false,
template: angular.element('#tourDateForm').html(),
parent: angular.element(document.body),
targetEvent: ev
});
}
function DialogController($scope, $mdDialog) {
$scope.save = function () {
console.log('submit');
};
$scope.cancel = function () {
$mdDialog.cancel();
};
}
}]);
这是一个代码笔:
http://codepen.io/cladin/pen/LZxJvJ
有人知道发生了什么或我做错了什么吗?
而不是使用
template: angular.element('#tourDateForm').html(),
您应该使用 templateURL,因为如果您检查它有四个 . html(),它已经有 4 个 ngrepeat。每个 ngrepeat 将出现 4 次,因此你得到 checkbox
的 16 次
例如
templateUrl: 'tabDialog.tmpl.html',
我在 angular 材质对话框 (mdDialog) 中使用 ng-repeat 时遇到问题。 ng-repeat,根据数组的长度重复自己,如果有4个元素,那么它会运行多次。
我想要的是打印一个复选框列表:
这是我的 html 代码:
<div id="tourDateForm" class="col-md-12 hidden">
<md-dialog>
<md-toolbar>
</md-toolbar>
<md-dialog-content>
<form id="tourForm" class="dialogContent">
<input type="hidden" name="id" ng-model="id">
<label for="ticket">Ticket</label>
<label ng-repeat="ticketd in ticketData">
<input type="checkbox" name="ticket" value="" required>
{{ticketd.test}}
</label>
</form>
</md-dialog-content>
<md-dialog-actions>
</md-dialog-actions>
</md-dialog>
还有我的控制器:
var tours = angular.module('tourDates', ['ngMaterial']);
tours.controller('tourDateCtrl', ['$scope','$mdDialog', function ($scope, $mdDialog) {
$scope.ticketData = [{test:1},{test:2}, {test: 3}, {test: 4}];
$scope.showForm = function (ev) {
$mdDialog.show({
controller: DialogController,
scope: $scope,
preserveScope: false,
template: angular.element('#tourDateForm').html(),
parent: angular.element(document.body),
targetEvent: ev
});
}
function DialogController($scope, $mdDialog) {
$scope.save = function () {
console.log('submit');
};
$scope.cancel = function () {
$mdDialog.cancel();
};
}
}]);
这是一个代码笔:
http://codepen.io/cladin/pen/LZxJvJ
有人知道发生了什么或我做错了什么吗?
而不是使用
template: angular.element('#tourDateForm').html(),
您应该使用 templateURL,因为如果您检查它有四个 . html(),它已经有 4 个 ngrepeat。每个 ngrepeat 将出现 4 次,因此你得到 checkbox
的 16 次例如
templateUrl: 'tabDialog.tmpl.html',