【发布时间】:2014-04-06 06:29:28
【问题描述】:
我正在尝试亲身体验流行的ember.js 框架,并且对许多神奇的东西感到非常惊讶。
其中一个是 this 中的 link-to 车把助手,我无法理解。
以下是我的代码场景:
// handlebar script
<script type='text/x-handlebars' data-template-name='products'>
<h1>Products</h1>
<ul class='list-unstyled col-md-8'>
{{#each}}
<h2>{{title}}</h2>
<p>{{#link-to 'product' this class='btn btn-success' }}Buy for ${{price}}{{/link-to}}</p>
{{/each}}
</ul>
</script>
// in app.js
App.PRODUCTS = [
{
title: 'Chair',
price: 99,
description: 'Chair is...',
},
...
];
App.Router.map(function() {
this.resource('products');
this.resource('product', { path: '/products/:title'});
});
App.ProductsRoute = Ember.Route.extend({
model: function() {
return App.PRODUCTS;
}
});
App.ProductRoute = Ember.Route.extend({
model: function(params) {
return App.PRODUCTS.findBy('title', params.title);
}
});
我知道this 在模板中指的是current product,但我的问题是:
- 它是否与
App.ProductRoute或router交互?如果是怎么办? - 我们可以用
this.title替换this吗?
【问题讨论】:
标签: javascript ember.js handlebars.js