AngularJS飞利浦Hue项目

时间:2014-02-28 21:12:35

标签: javascript api angularjs philips-hue

我开始研究一点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

谢谢!

1 个答案:

答案 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);
      }
  };
});

它有效!谢谢!