AngularJS - 努力将价值传递给工厂
AngularJS - Struggling to pass value to factory
首先,我想说我对AngularJS相当陌生,所以可能是我用一些奇怪的问题来问我的问题。
我正在尝试将字符串传递给工厂,作为回报,工厂会从我的数据库中给我一个结果。当我对值进行硬编码时,一切正常。但是当我尝试从我的视图/控制器传递旅馆值时,事情就会停止工作。
这是我的工厂:
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 不是函数
正如我提到的,我对此很陌生,所以我可能离得很远。任何帮助将不胜感激。
这行代码的目的是什么?
$scope.entry = new Entry();
输入是您要呼叫的服务。
您应该通过依赖关系注入将其传递到控制器中。Angular 为您做"新"服务。
myApp.controller('myCntrl', HomeCtrl);
HomeCtrl.$inject = ['$scope', 'Entry'];
function HomeCtrl($scope, Entry) {
...
}
我没有看到您的$resource配置有任何错误。
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
错误位于代码的其他部分,请完全发布您的控制器。
相关文章:
- 如何将输入范围的值传递给JS中的变量
- 如何将值传递给wicket中的javascript函数
- 将值传递给jquery创建的输入字段
- 需要将select标记选项值传递给ajax函数
- 使用Ajax将PHP值传递给javascript
- 将javascript值传递给PHP
- 将javascript值传递给php是正确的方法
- 将不属于表单的HTML页面中的值传递给php页面
- Angular,将文本框的动态值传给控制器
- 在key up函数上将文本框值传递给javascript
- 可以't使用ajax调用将值传递给Web服务
- 如何在同一页面上使用windows.location.href将js值传递给php时停止刷新页面
- 多个单选按钮,需要将选定的值传递给javascript
- 将 MSSQL 表值传递给 javascript
- 如何将 HTML 文档作为起始值传递给 CodeMirror
- 如何将数据存储值传递给javascript?我需要从gae数据存储中获取数据,并需要传递javascript
- 将索引值传递给javascript命名空间数组
- 将文本框值传递给javascript函数
- 如何解决将值传递给javascript函数时的错误
- 将javascript返回值传递给MVC 4中的控制器