Ember-js链接到父记录
Ember js link to the parent record
我正在使用Ember创建一个简单的应用程序,显示管理器和报告对象层次结构。链接到按钮应该可以让我进入经理的页面,我想将其显示在与其报告对象相同的模板中,因为经理也是员工之一。有人能建议怎么做吗。
App.js
App = Ember.Application.create(
{
LOG_TRANSITION:true
}
);
App.Router.map(function() {
this.route("employees");
this.resource('employee' , { path:"/employee/:employee_id"});
App.EmployeesRoute = Ember.Route.extend({
model: function() {
var emp = [];
for ( var i in App.Employees){
emp.push(App.Employees[i]);
}
return emp;
}
});
App.Employee = Ember.Object.extend( {
"id": null ,
"empid": null ,
"name" : null ,
"age" : null ,
"sex": null ,
"dob" : null ,
"email": null ,
"phone": null ,
"address": null ,
"manager": null ,
"manager-id" : null ,
"department" : null ,
"designation" : null
})
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Ember Starter Kit</title>
<link rel="stylesheet" href="css/bootstrap.css">
<link rel="stylesheet" href="css/normalize.css">
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<script type="text/x-handlebars">
<h1 align="center">Ember WorkShop Accolite AU</h1>
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="index">
<ul>
{{#each item in model}}
<li>{{item}}</li>
{{/each}}
</ul>
</script>
<script type="text/x-handlebars" data-template-name="employees">
<table>
<tr bgcolor=lightblue>
<td>NAME</td><td>EMP-ID</td><td>AGE</td><td>SEX</td><td>DOB</td><td>E-MAIL</td><td>PHONE</td><td>MANAGER</td></tr>
{{#each emp in model }}
{{this.manager_id}}
<tr>
<td class= "span1"> {{#linkTo 'employee' emp }}{{emp.name}}{{/linkTo}}</td>
<td class="span1">{{#linkTo 'employee' emp}}{{emp.empid}}{{/linkTo}}</td>
<td class="span1"> {{emp.age}}</td>
<td class="span1"> {{emp.sex}}</td>
<td class="span2"> {{emp.dob}}</td>
<td class="span2"> {{emp.email}}</td>
<td class="span2"> {{emp.phone}}</td>
<td class="span1"> {{emp.manager}}</td>
</tr>
{{/each}}
<tr bgcolor = lightblue>
<td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>
</tr>
</table>
</script>
<script type="text/x-handlebars" data-template-name="employee">
{{#linkTo 'employees'}} BackButton {{/linkTo}}</br>
EMPID : {{empid}} </br>
Name : {{name}} </br>
Age : {{age}} </br>
DOB : {{dob}} </br>
Gender : {{sex}} </br>
Email: {{email}} </br>
Phone: {{phone}} </br>
Address: {{address}}</br>
Manager : {{manager}}</br>
Department: {{department}} </br>
Designation: {{designation}} </br>
<br><br>
</script>
<script src="js/libs/jquery-1.9.1.js"></script>
<script src="js/libs/handlebars-1.0.0-rc.4.js"></script>
<script src="js/libs/ember-1.0.0-rc.6.js"></script>
<script src="js/bootstrap.js"></script>
<script src="js/app.js"></script>
<script src="js/employees.js"></script>
</body>
</html>
employees.js
App.Employees ={
"1" : App.Employee.create ({
"id" : "1" ,
"empid" : "id1",
"name" : "Maxwell",
"age" : "53" ,
"sex" : "M",
"dob" : "23-4-1978" ,
"email" : "max@accolite.com" ,
"phone" : "765873687" ,
"address" : "Seattle" ,
"manager" : "None" ,
"manager-id" : "None" ,
"department" : "core-tech" ,
"designation" : "tech"
}) ,
"2" : App.Employee.create ({
"id" : "2" ,
"empid" : "id2",
"name" : "peter",
"age" : "35" ,
"sex" : "M",
"dob" : "2-3-1998" ,
"email" : "p@accolite.com" ,
"phone" : "765873687" ,
"address" : "hine" ,
"manager" : "none" ,
"manager-id" : "2" ,
"department" : "core-tech" ,
"designation" : "tech"
}) ,
"3" : App.Employee.create ({
"id" : "3" ,
"empid" : "id3",
"name" : "John",
"age" : "23" ,
"sex" : "M",
"dob" : "30-4-1988" ,
"email" : "john@accolite.com" ,
"phone" : "765873687" ,
"address" : "mountain view" ,
"manager" : "peter" ,
"manager-id" : "87" ,
"department" : "core-tech" ,
"designation" : "techie"
}) ,
"4" : App.Employee.create ({
"id" : "4" ,
"empid" : "id4",
"name" : "hitler",
"age" : "35" ,
"sex" : "M",
"dob" : "23-4-1978" ,
"email" : "p@g.com" ,
"phone" : "765873687" ,
"address" : "hine" ,
"manager" : "John" ,
"manager-id" : "2" ,
"department" : "core-tech" ,
"designation" : "tech"
}) ,
"5" : App.Employee.create ({
"id" : "5" ,
"empid" : "id5",
"name" : "Elson",
"age" : "23" ,
"sex" : "M",
"dob" : "23-4-1978" ,
"email" : "m@accolite.com" ,
"phone" : "765873687" ,
"address" : "hine" ,
"manager" : "peter" ,
"manager-id" : "87" ,
"department" : "core-tech" ,
"designation" : "tech"
}) ,
"6" : App.Employee.create ({
"id" : "6" ,
"empid" : "id6",
"name" : "Victor",
"age" : "35" ,
"sex" : "M",
"dob" : "23-4-1978" ,
"email" : "v@accolite.com" ,
"phone" : "765873687" ,
"address" : "hine" ,
"manager" : "none" ,
"manager-id" : "2" ,
"department" : "core-tech" ,
"designation" : "tech"
}) ,
"7" : App.Employee.create ({
"id" : "7" ,
"empid" : "id7",
"name" : "Gennedy",
"age" : "83" ,
"sex" : "M",
"dob" : "23-4-1978" ,
"email" : "john@accolite.com" ,
"phone" : "765873687" ,
"address" : "mountain view" ,
"manager" : "peter" ,
"manager-id" : "87" ,
"department" : "core-tech" ,
"designation" : "techie"
}) ,
"8" : App.Employee.create ({
"id" : "8" ,
"empid" : "id8",
"name" : "Lisa",
"age" : "35" ,
"sex" : "F",
"dob" : "23-4-1978" ,
"email" : "p@accolite.com" ,
"phone" : "888873687" ,
"address" : "hine" ,
"manager" : "John" ,
"manager-id" : "2" ,
"department" : "core-tech" ,
"designation" : "tech"
})
}
您可以找到特定员工emp
的经理记录,并将其作为引用传递给{{linkTo}}
助手。这可以通过使用计算属性来完成,也可以使用成员数据关联。
相关文章:
- 从外部 iFrame 重定向和链接中删除历史记录
- FetchXML 查询在子网格中返回的动态 CRM 2015 中的活动记录 - 主题超链接将打开新的活动
- HTML5历史记录,后退按钮和外部链接
- 如何将记录与 lawnchair js 链接
- 单击链接时,无法将记录填充到引导模式
- 如何访问访问过的链接历史记录
- 如何为数据库中的不同记录/行创建用户生成的链接列表,这些记录/行在单击时填充 html 表单
- 记录单击的链接,然后在框中显示页面名称作为历史记录
- 记录链接单击,然后保存到本地存储
- 谷歌分析 - 记录出站链接 - 打开新窗口
- 你如何记录.writeln()一个超链接
- 在行单击时,将记录 ID 传递给引导模式中的链接按钮
- 如何通过分配window.location在历史记录中留下链接
- 如何在ext-js网格中将记录数据显示为链接
- 返回链接,但不使用历史记录
- 当用户点击链接时,我如何记录MixPanel事件
- 也打开链接的Rails远程链接更新记录
- 如何用JavaScript和n:m关系链接两条记录
- 散列链接和历史记录(向后和向前)
- CRM 2011-在相关视图或子网格中点击自己的记录链接时的怪异行为形式