第一种联动方式,
在网上看到的,感觉对于我的使用性不高,比较后端不会提供这种json。。。实现截图
html
js
第二种联动方式,
这次是根据后台要求,自己写的一个联动,当然没有请求接口,就是单独写个固定值1.联动的思路
1.首先是选择总类别 2.总类别选择后,会关联出设备 3.设备选择后,会关联出属性 4.属性选择后,会根据属性的不同,关联出不同的项目
2.代码
1)设备类别下拉
html
js
获取设备列表
$scope.changeType = function(x){
$log.log(x.category)
//TODO: 真正使用肯定是要用$http来请求设备列表
//暂时测试使用下面的
switch(x.category){
case "大家电":
$scope.yourdevices = [
{"dev":"电视机(mac:32309fsaf)"},{"dev":"洗衣机(mac:32309fsaf)"},{"dev":"冰箱(mac:32309dqsq)"},{"dev":"空调(mac:32309fsaf)"}
];
break;
}
}
2)设备下拉
html
js
属性相关操作,例如“开关”属性,要找去其相关的类型数据和值
var paramsarr = $scope.params;
var paramobj = {
};
paramsarr.forEach(function (v,i) {
paramobj[v.display_name] = v;
})
$scope.paramobjs = paramobj;
}
}
3)属性下拉
html
属性--
js
获取数据类型和数据值
$scope.changeParam = function (x) {
var pobj = $scope.paramobjs;
$scope.views = pobj[x];
$scope.type = $scope.views.data_type
$log.log($scope.views)
}
4)属性项
html
使用ng-swtch来进行判断显示,若数值类型位bool,则显示单选框,若数值类型位num,则显示位大小比较下拉框和文本框
dio" name="radio" value="{{x}}">{{x}}
{{views.data_range}}