我有一个类似树的结构,从我为我的服务器编写的一些PHP代码中接收为JSON。
代码远非复杂到发布,所以让我们使用一个例子:
公司有
所以,我可以找到像
这样的东西$scope.departments[1].jobs[1].people[1]
$scope.departments[1].jobs[1].people[2]
等
我有当前用户选择的部门,工作和个人的$scope
变量。
我的问题是我想在HTML视图中使用ng-repeat
个作业。
声明
<div ng-repeat="job in departments[{{departmentId}}].jobs>
提供Error: [$parse:syntax]
,
<div ng-repeat="job in departments[$scope.departmentId].jobs>
(我绝望地试过)。
正确的语法是什么?
我想知道我是否需要尝试
<div ng-repeat="job in GetJobsForCurrentDepartment()>
因为$scope.departmentId
将在我的控制器的范围内,但不在部门的HTML视图中。
答案 0 :(得分:3)
由于视图具有与之关联的控制器,因此控制器与其关联$scope
。不需要使用$scope
html元素来引用控制器中定义的变量。在视图中与元素一起使用的任何变量都在与该元素关联的范围中查找。仅在脚本中需要$scope
。
因此你可以写
<div ng-repeat="job in departments[departmentId].jobs>
这将获取departmentId&amp;的值。其中的工作将由ng-repeat
指令处理。
答案 1 :(得分:2)
您不必在视图中提及附加了$scope
试试这个
<div ng-repeat="job in departments[departmentId].jobs>
JS
$scope.departmentId=1;