块引用
虽然选择材料列第一列显示未定义,所以我需要从下拉列表中删除undefined,html / json数据需要进行哪种更改才能正常工作。
块引用
[routerLink]="['/Account/Register']

var app = angular.module('Calc', []);
app.controller('Calc_Ctrl', function($scope) {
$scope.type = {
"ceramicAndVetrified": {
"flooringWork": {
"typeOfWork":"Flooring Work",
"ceramicTile": {
"activity": "Ceramic Tile",
"unitOfWork": "sqm",
"coeffecient": {
"ceramicTile": "",
},
"material": "Ceramic floor tile",
"tileSizes": [{
"tileDimension": "300X300",
}, {
"tileDimension": "600X600",
}]
},
"vitrifiedTile": {
"activity": "Vitrified Tile",
"unitOfWork": "sqm",
"coeffecient": {
},
"material": "Vitrified floor tile",
"tileSizes": [{
"tileDimension": "600X600",
}, {
"tileDimension": "800X800",
}, {
"tileDimension": "1200X600",
}]
}
},
"wallTilingWork": {
"typeOfWork":"Wall Tiling Work",
"ceramicTile": {
"activity": "Ceramic Tile",
"unitOfWork": "sqm",
"coeffecient": {
"ceramicTile": "",
},
"material": "Ceramic wall tile",
"tileSizes": [{
"tileDimension": "300X300",
}, {
"tileDimension": "450X450",
}, {
"tileDimension": "300X450",
}]
},
"vitrifiedTile": {
"activity": "Vitrified Tile",
"unitOfWork": "sqm",
"coeffecient": {
},
"material": "Vitrified wall tile",
"tileSizes": [{
"tileDimension": "450X450",
}, {
"tileDimension": "300X450",
}]
}
}
},
"images": {
"calculatorHeaderImage": "http://www.msupply.com/media/catalog/product/0/0/00201000404.jpg",
"imageURLs": ["http://www.msupply.com/media/catalog/product/0/0/00201000404.jpg", "http://www.msupply.com/media/catalog/product/0/0/00201000404.jpg"]
}
}
});

答案 0 :(得分:0)
发生这种情况的原因是因为typeOfWork.activity
是undefined
"flooringWork": {
"typeOfWork":"Flooring Work",
您应该考虑更改数据结构,或创建一个检查[Object].activity
。
如果你可以改变数据,你应该考虑这样的事情;
{
"flooringWork":
{
"typeOfWork": "Flooring Work",
"activities": [
{
"ceramicTile": {
"activity": "Ceramic Tile",
"unitOfWork": "sqm",
"coeffecient": {
"ceramicTile": "",
},
"material": "Ceramic floor tile",
"tileSizes": [
{
"tileDimension": "300X300",
}, {
"tileDimension": "600X600",
}
]
},
"vitrifiedTile": {
"activity": "Vitrified Tile",
"unitOfWork": "sqm",
"coeffecient": {},
"material": "Vitrified floor tile",
"tileSizes": [
{
"tileDimension": "600X600",
}, {
"tileDimension": "800X800",
}, {
"tileDimension": "1200X600",
}
]
}
}
]
}
}
然后您可以将您的选择更新为此;
<select class="form-control" id="sel2" ng-disabled="!selectedcategory" ng-model="selectedtype" ng-options="y.activity for (x, y) in selectedcategory.activities" ng-change="GetSelectedType()">
</select>