我尝试一起使用Oboe.Js和Angular.Js
这是我的示例代码,它正常工作..
angular.module('myApp', ['ng-oboe'])
.config(function (oboeProvider) {
/* If we were so inclined, we could change the oboe defaults here - headers, etc. */
// oboeProvider.defaults = {};
})
.controller('myCtrl', function ($scope, oboe) {
$scope.test = "Yo.";
$scope.items = [];
oboe.get('http://localhost:4243/containers/f78257b77b21/stats')
.start(function (data, etc) {
})
.node('!', function (value) {
})
.done(function (value) {
console.log("It works! ", value.read);
$scope.items.push(value);
})
.fail(function (error) {
console.log("Error: ", error);
});
});
但是当我尝试将这些代码用于我的实际项目控制器时。我收到了这个错误。我无法弄明白为什么我会得到这个。
错误:TypeError:无法读取属性' get'未定义的
module.js
angular.module('RDash', ['ui.bootstrap', 'ui.router', 'ngCookies','ng-oboe'])
.config(function (oboeProvider) {
/* If we were so inclined, we could change the oboe defaults here - headers, etc. */
// oboeProvider.defaults = {};
});
统计-ctrl.js
angular
.module('RDash')
.controller('StatsCtrl', ['$scope', '$stateParams', StatsCtrl]);
function StatsCtrl($scope, $stateParams, oboe) {
var id = $stateParams.id;
$scope.myData = [];
$scope.items = [];
console.log('http://localhost:4243/containers/' + id + '/stats');
oboe.get('http://localhost:4243/containers/' + id + '/stats')
.start(function (data, etc) {
console.log("Dude! We're goin'!", data, etc);
})
.node('!', function (value) {
})
.done(function (value) {
console.log("It works! ", value.read);
})
.fail(function (error) {
console.log("Error: ", error);
});
}
答案 0 :(得分:2)
在你的控制器功能中你obe
工厂没有值(未定义),因为它没有注入DI数组。
angular
.module('RDash')
.controller('StatsCtrl', ['$scope', '$stateParams', 'obe', StatsCtrl]); //<-inject obe here
function StatsCtrl($scope, $stateParams, oboe) {