Angularjs 带角度的购物车-有条件地设置默认项目
被困在这里的AngularJS新手…Angularjs 带角度的购物车-有条件地设置默认项目,angularjs,Angularjs,被困在这里的AngularJS新手… 我正在开发一个在线食品订购系统。用户应该在不同的菜肴中进行选择。每个菜系都会显示一些默认菜单。对于每个菜单,建议了一些默认课程。用户应该可以选择更改此类默认课程、添加和/或删除其他课程等。 我陷入困境的是为每个菜单创建默认课程。尝试使用过滤器、ng if等,但似乎没有有效的解决方案。 例如,假设用户选择了意大利料理>玛格丽塔菜单,我想列出3道菜:“比萨饼”、“沙拉”、“软饮料”,每道菜都有自己的选择和附加菜。 从$scope.Courses数组中获取课程的详
我正在开发一个在线食品订购系统。用户应该在不同的菜肴中进行选择。每个菜系都会显示一些默认菜单。对于每个菜单,建议了一些默认课程。用户应该可以选择更改此类默认课程、添加和/或删除其他课程等。
我陷入困境的是为每个菜单创建默认课程。尝试使用过滤器、ng if等,但似乎没有有效的解决方案。 例如,假设用户选择了意大利料理>玛格丽塔菜单,我想列出3道菜:“比萨饼”、“沙拉”、“软饮料”,每道菜都有自己的选择和附加菜。
从$scope.Courses数组中获取课程的详细信息(包括包含价格详细信息的所有可用课程、可用附加课程等) 看看被剪掉的代码。Html摘录:
<body ng-controller="MainCtrl">
<div>
<label>Type of Menu:</label>
<select ng-model="selectedToM"
ng-options="menu.ToM group by menu.ToC for menu in menus">
</select><br>
<h3>Personalize Your Menu</h3>
<label>Course: </label>
<select ng-model="SelectedCourse"
ng-options="course.Type for course in courses">
<option value="">-- choose an option --</option>
</select>
<div ng-repeat="Characteristic in SelectedCourse.Characteristics">
{{Characteristic.Label}}:
<select ng-model="SelectedCharacteristic"
ng-options="option.OptItem for option in Characteristic.Options">
</select>
</div>
任何帮助都将不胜感激 请在问题正文中包含理解问题所需的所有代码。嗨,戴夫,给你。。。
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope) {
$scope.menus = [{
ToC: 'American',
ToM: 'McMenu',
courses: []
}, {
ToC: 'American',
ToM: 'Easy',
courses: []
}, {
ToC: 'Italian',
ToM: 'Margherita',
courses: ['Pizza', 'Salad', 'Softdrink']
}, {
ToC: 'Chinese',
ToM: 'McNoodle',
courses: []
}, ];
$scope.courses = [{
"Type": "Pasta",
"Ppu": 4,
"Characteristics": [{
"Label": "Variant",
"Options": [{
"OptItem": "Lasagne",
"addppu": 2
}, {
"OptItem": "Tortellini",
"addppu": 1.5
}, {
"OptItem": "Gnocchi",
"addppu": 1
}, {
"OptItem": "Spaghetti",
"addppu": 0
}, {
"OptItem": "Cannelloni",
"addppu": 2
}],
}, {
"Label": "Size",
"Options": [{
"OptItem": "Normal",
"addppu": 0
}, {
"OptItem": "King size",
"addppu": 1
}],
}]
}, {
"Type": "Pizza",
"Ppu": 4,
"Characteristics": [{
"Label": "Variant",
"Options": [{
"OptItem": "Margherita",
"addppu": 0
}, {
"OptItem": "Napoli",
"addppu": 1
}, {
"OptItem": "Funghi",
"addppu": 1
}, {
"OptItem": "Prosciutto",
"addppu": 0.5
}, {
"OptItem": "Hawaii",
"addppu": 2
}],
}, {
"Label": "Size",
"Options": [{
"OptItem": "Normal",
"addppu": 0
}, {
"OptItem": "King size",
"addppu": 1
}],
}]
}, {
"Type": "Salad",
"Ppu": 2.5,
"Characteristics": [{
"Label": "Dressing",
"Options": [{
"OptItem": "None",
"addppu": 0
}, {
"OptItem": "Italian",
"addppu": 1
}, {
"OptItem": "French",
"addppu": 1
}],
}, {
"Label": "Size",
"Options": [{
"OptItem": "Small",
"addppu": 0
}, {
"OptItem": "Medium",
"addppu": 1
}, {
"OptItem": "Large",
"addppu": 1.5
}],
}]
}, {
"Type": "Softdrink",
"Ppu": 3,
"Characteristics": [{
"Label": "Type",
"Options": [{
"OptItem": "Coca-Cola",
"addppu": 0
}, {
"OptItem": "Coca-Cola Light",
"addppu": 0.5
}, {
"OptItem": "Fanta",
"addppu": 0
}, {
"OptItem": "Sprite",
"addppu": 0
}],
}]
}
];
});