gpt4 book ai didi

javascript - AngularJS - 努力将值(value)传递给工厂

转载 作者:行者123 更新时间:2023-12-03 07:38:36 24 4
gpt4 key购买 nike

首先我想说我对 AngularJS 还很陌生,所以我问的问题可能有些奇怪。

我正在尝试将一个字符串传递给一个工厂,该工厂反过来会从我的数据库中提供一个结果。当我对值进行硬编码时,一切正常。但是当我尝试从我的 View / Controller 传递旅馆值时,事情就停止了。

这是我的工厂:

healthServices.factory('Entry',
function ($resource) {
return $resource('http://localhost:60673/api/hierarchy/:id', { id: '@id'}, {
query: { method: 'GET', isArray: true }
});
});

这是我使用的 Controller :

$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 is not a function

正如我提到的,我对此很陌生,所以我可能还很遥远。任何帮助将非常感激。

最佳答案

这行代码的目的是什么?

     $scope.entry = new Entry();

Entry 是您要调用的服务。
您应该通过依赖注入(inject)将其传递到 Controller 中。Angular 为您带来"new"体验。

    myApp.controller('myCntrl', HomeCtrl);
HomeCtrl.$inject = ['$scope', 'Entry'];

function HomeCtrl($scope, Entry) {
...
}

关于javascript - AngularJS - 努力将值(value)传递给工厂,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35505837/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com