Javascript 角度JS:如何;“加载”;json数据集中的单个记录?

Javascript 角度JS:如何;“加载”;json数据集中的单个记录?,javascript,json,angularjs,state,Javascript,Json,Angularjs,State,我有json数据,一个由50个代表人的对象组成的数组。每个都有像id和lastName这样的参数 我通过解析,EmployeeResolve将其加载到控制器中,并将其加载到变量\u this.employees 我还通过$state params从上一页加载一个rownumer变量,该变量保存用户单击的记录的ID:\u this.rowNum=$stateParams.ID假设id是5 我现在想给一个变量分配对象号5(因为缺少更好的解释方法),这样在我的HTML中我就可以像在{{controll

我有json数据,一个由50个代表人的对象组成的数组。每个都有像
id
lastName
这样的参数

我通过解析,
EmployeeResolve
将其加载到控制器中,并将其加载到变量
\u this.employees

我还通过$state params从上一页加载一个
rownumer
变量,该变量保存用户单击的记录的ID:
\u this.rowNum=$stateParams.ID
假设
id
5

我现在想给一个变量分配对象号5(因为缺少更好的解释方法),这样在我的HTML中我就可以像在
{{controller.lastName}}

员工中获取第5项的语法是什么

更新 经过几次有益的评论和回答,我已经走到了这一步(人们现在都是包):

但是请注意,我希望在所有这些之后,
\u this.currentPackage
包含一个对象,因此我可以简单地绑定到html中的props,就像在
currentPackage.last\u name
中一样,但它没有。这是一个资源,我需要在log语句中使用上面的
\u this.currentPackage[0].status
来获取任何信息。这不允许绑定

一位同事建议修改我的决心

PackagesResolve: function($log, MockDataFactory) {
      return MockDataFactory.query({filename: 'packages'}).$promise.then(function(response) {
        return response;
      });
    }
添加整个
$promise。然后添加部分。没有真正的区别

要重申我正在尝试做的事情:

PackagesResolve正在获得一个包含50个对象的json数组。我希望能够在单击json表中的当前对象行时获取该对象


不,@jdvp这根本不是另一篇文章的翻版。我需要使用Angular而不是jquery或straight js来执行此操作。

如果我正确理解了您的问题:resolve返回的对象就是resolved promise。已解析承诺的“数据”存储在
resolve.data
中,在本例中,它将是预期的人员信息数组。因此,例如,您有
员工解决方案
,您可以引用数组并使用以下方法存储它:

根据评论进行编辑:

// Assuming you've done all error checking...
_this.employees = EmployeeResolve.data;

// Now _this.employees has the array of people info.

$scope.controller = {};
$scope.controller.variableName = _this.employees[$stateParams.id];
// Now, you can access your object in your template using controller.variableName.
现在,虽然我不建议您在最终版本中编写这样的代码,但我相信您已经了解了要点

附加说明:我之所以创建一个空对象并将其存储为作用域上的
controller
,是因为您的问题说明了这一点。我假设您有自己的理由希望在
控制器
中命名变量


希望这有帮助

var fifthEmployee=_this.employees[5]??不太清楚您在问什么。您可以对数组应用筛选器:
var fifthEmployee=\u this.employees.filter(函数(employee){return(employee.id==5)}
。从你的故事中我得到的是:不完全是,这就是我困惑的原因
var-fifthEmployee=_this.employees[5]var-fifthEmployee=_this.employees[_this.rowNum]不起作用我使用了你的过滤函数的想法,但出于某种原因,我需要在之后这样做来记录“status”(对象中的一个道具)的值:
$log.debug('package from filter',u this.currentPackage[0].status)
我修改了这个问题。顺便说一句,我意识到为什么
\u this.employees[\u this.rowNum]
不起作用,当然JS将数字转换为字符串。这行不通,因为我需要为页面上的所有内容定义一个变量。我希望将整个对象分配给一个变量,这样我就可以简单地在HTMLT中执行
{{controller.myvariable.last_name}}
,所使用的
{{controller.variablename}
语法可能是指ControllerAs语法。
// Assuming you've done all error checking...
_this.employees = EmployeeResolve.data;

// Now _this.employees has the array of people info.

$scope.controller = {};
$scope.controller.variableName = _this.employees[$stateParams.id];
// Now, you can access your object in your template using controller.variableName.