具有范围参数

时间:2015-06-23 01:48:17

标签: javascript asp.net-mvc angularjs single-page-application

我的问题如下:我试图用以下参数调用资源,我收到以下错误:

[$resource:badcfg] 

我尝试在过去的3个小时内解决这个问题,但似乎无法让它发挥作用。所以,如果我这样称呼它:

$scope.komintent = Fakturi.komintenti.get({ id: 1 });

它工作正常,一切都很好,但由于我需要动态ID,我试图用

调用它
$scope.komintent = Fakturi.komintenti.get({ id: $scope.faktura.KomintentID });

除此之外,我有这个(两条线在一起):

$scope.faktura = Fakturi.fakturi.get({ id: $routeParams.id });
$scope.komintent = Fakturi.komintenti.get({ id: $scope.faktura.KomintentID });

我尝试了所有可能的解决方案并且无法使其正常工作。

我有另一个类似的例子,其中一切正常:我可以将两个参数都放在$ scope.x.y

Fakturi.fakturaKomintent.update({ Fid: $scope.faktura.DokumentID, id: $scope.komintent.KomintentID });

我改为isArray:假,仍然没有。 这是我的网络API代码:http://prntscr.com/7k6wwt

我使用和不使用[Route]更改了它,但仍然没有。

当我尝试这样的时候:

  

$ scope.kom = function(){Fakturi.komintenti.get({id:$ scope.faktura.KomintentID},function success(data){$ scope.komintent = data}); }

而不是我指定

  

输入ng-click =“kom()”/>

它工作正常,但我希望它在页面加载时初始化

使用$ routeParams.id而不是$ scope.faktura.KomintentID它可以工作,但它不是我需要的ID

资源工厂的屏幕截图:http://prntscr.com/7k7bs2

*也是一个非常奇怪的事情:当我把这一行放在watchGroup中它完美地运行时,但是当我输入一些东西时,页面会闪烁,因为它一直都很清爽,但它工作正常并且不会抛出错误

2 个答案:

答案 0 :(得分:0)

如果这是一个AJAX调用,那么变量初始化应该是回调方法:

Fakturi.fakturi.get({ id: $routeParams.id }, function (data) { $scope.faktura = data; });
Fakturi.komintenti.get({ id: $scope.faktura.KomintentID }, function (data) { $scope.komintent = data; });

根据这个link,如果你想立即得到响应,那么尝试为返回的对象调用query()方法

$scope.faktura = Fakturi.fakturi.get({ id: $routeParams.id }).query();

答案 1 :(得分:0)

答案是:

我必须在第一个ajax调用的成功函数中使用第二个ajax调用作为函数:

  

Fakturi.fakturi.get({ID:$ routeParams.id},函数成功(数据){$ scope.faktura =数据,$ scope.komintent = Fakturi.komintenti.get({ID:data.KomintentID}) },函数错误(数据){alert(“error”)});