Javascript AngularJS飞利浦色调项目
我开始做一个小的AngularJS-Philips色调项目,我有点被卡住了 我对AngularJS还是个新手。。。但事情是这样的 我想做的是列出我拥有的灯,灯的状态和开关 我决定建立一个工厂(基于本文:)来获取/放置数据:Javascript AngularJS飞利浦色调项目,javascript,api,angularjs,philips-hue,Javascript,Api,Angularjs,Philips Hue,我开始做一个小的AngularJS-Philips色调项目,我有点被卡住了 我对AngularJS还是个新手。。。但事情是这样的 我想做的是列出我拥有的灯,灯的状态和开关 我决定建立一个工厂(基于本文:)来获取/放置数据: app.factory('lampsFactory', function($http) { return { getLamps: function(callback) { $http.get('http://172.16.0.2/api/n
app.factory('lampsFactory', function($http) {
return {
getLamps: function(callback) {
$http.get('http://172.16.0.2/api/newdeveloper/lights').success(callback);
},
getLampState: function(callback, lampID) {
$http.get('http://172.16.0.2/api/newdeveloper/lights/'+ lampID).success(callback);
}
};
});
getLamps函数正常工作,但我不知道如何基于id获取lamp数据。
我试图增加一个额外的参数,但没有成功
你能帮我把我推向正确的方向吗
我也有一个plunker:
谢谢 我已将代码更改为:
var app = angular.module('plunker', []);
app.controller('MainCtrl', function($scope, lampsFactory) {
lampsFactory.getLamps(function(results) {
$scope.lamps = results;
});
$scope.getLampState = function(lampID){
lampsFactory.getLampState(function(results) {
console.log(results.state.on);
return results.state.on;
},lampID);
};
});
app.factory('lampsFactory', function($http) {
return {
getLamps: function(callback) {
$http.get('http://172.16.0.2/api/newdeveloper/lights').success(callback);
},
getLampState: function(callback, lampID) {
$http.get('http://172.16.0.2/api/newdeveloper/lights/'+ lampID).success(callback);
}
};
});
而且它有效!谢谢 你能详细说明一下这句话吗:
但那不起作用
?您没有在API访问点接收到ID吗?如果是这种情况,您是否确保AJAX请求正确地传递了ID?我更改了我的代码,因此getLampState:function(callback,lampID){$http.get('http://172.16.0.2/api/newdeveloper/lights/“+lampID).success(callback);}
和我的控制器函数到:$scope.getLampState=function(taskId){lampsFactory.getLampState(函数(结果){console.log(results.state.on);return results.state.on;},taskId);};
它可以工作!唯一不工作的是ng重复代码:{getLampState($index+1)}
它将继续重复getLampState函数。。。