首先,我想说我对AngularJS很新,所以我可能会问一些奇怪的问题。
我正在尝试将字符串传递给工厂,而工厂又从我的数据库中获取结果。当我对值进行硬编码时,一切正常。但是当我试图从我的视图/控制器中传递inn值时,事情就会停止工作。
这是我的工厂:
healthServices.factory('Entry',
function ($resource) {
return $resource('http://localhost:60673/api/hierarchy/:id', { id: '@id'}, {
query: { method: 'GET', isArray: true }
});
});
这是我正在使用的控制器:
$scope.changeData = function (type) {
$scope.entry = new Entry();
$scope.id = type;
$scope.healthData = $scope.entry.$query({ id: $scope.id });
}
这就是它在我的HTML中的样子:
<button ng-click="changeData('someValue')">
目前我一直在
TypeError:value.push不是函数
正如我刚才提到的那样,我可能很遥远。非常感谢任何帮助。
答案 0 :(得分:1)
这行代码的意图是什么?
$scope.entry = new Entry();
输入是您要拨打的服务。
你应该通过依赖注入将它传递给你的控制器。
Angular为您做“新”。
myApp.controller('myCntrl', HomeCtrl);
HomeCtrl.$inject = ['$scope', 'Entry'];
function HomeCtrl($scope, Entry) {
...
}
答案 1 :(得分:0)
我没有看到您的$资源配置有任何问题。
var myApp = angular.module('myApp',['ngResource']);
myApp.factory('Entry', function ($resource) {
return $resource('http://localhost:60673/api/hierarchy/:id', { id: '@id'}, {
query: { method: 'GET', isArray: true }
});
});
myApp.controller('myCtrl', ['$scope', 'Entry', function($scope, Entry){
$scope.changeData = function (type) {
$scope.entry = new Entry();
$scope.id = type;
$scope.healthData = $scope.entry.$query({ id: $scope.id });
}
}]);
我正在控制台下面
GET http://localhost:60673/api/hierarchy/someValue
错误在于代码的其他部分,请完全发布您的控制器。