我开始研究一点AngularJS - 飞利浦Hue项目,我有点卡住......
我对AngularJS很新......但是这里有。
我想要的是列出我拥有的灯具,灯具的状态以及切换它们的切换器。
我决定建立一个工厂(基于这篇文章:http://davidsalter.com/2013/08/16/using-angular-dot-js-factories-to-get-remote-data/)来获取/放置数据:
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获取灯数据。 我试图添加一个额外的参数,但这不起作用。
你能帮助我,让我朝着正确的方向前进吗?
我也有一个傻瓜:http://plnkr.co/edit/ySa0PVBahM7sxU4lasgP
谢谢!
答案 0 :(得分:0)
我已将代码更改为:
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);
}
};
});
它有效!谢谢!