javascript - 带有范围参数的 Angularjs 资源

标签 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: false,还是没有。 这是我的网络 API 代码:http://prntscr.com/7k6wwt

我在使用和不使用[Route]时都更改了它,但仍然没有任何结果。

当我尝试这样时:

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

比我指定的

input ng-click="kom()"/>

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

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

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

*还有一件非常奇怪的事情:当我将线路放入 watchGroup 中时,它工作得很好,但是当我输入某些内容时,页面会闪烁,因为它一直在刷新,但它工作正常并且不会抛出错误

最佳答案

如果这是 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();

关于javascript - 带有范围参数的 Angularjs 资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30992589/

相关文章:

AngularJS 基于桌面或移动设备的不同 View

javascript - 如何阻止将可执行文件上传到 Alfresco Share?

javascript - 窗口加载函数发生得太快

部署后 Css 引用失败

angularjs - 使用 Highcharts 显示具有动态数据的 donut Highcharts

javascript - 当第一个选项卡处于事件状态时,第二个选项卡不起作用

javascript - 从 jQuery 对象获取哈希字符串/guid

javascript - Angular 2从comp1的html调用另一个组件(Comp2)中的函数

c# - 在 ASP.NET MVC 中将客户端日期时间转换为服务器日期时间

asp.net-mvc - 什么是 ASP.Net MVC 中的 _Viewstart