Javascript Ember.js控制器不工作
我无法访问我的阵列控制器变量。我有一个简单的应用程序,例如: App.jsJavascript Ember.js控制器不工作,javascript,ember.js,controller,ember-data,Javascript,Ember.js,Controller,Ember Data,我无法访问我的阵列控制器变量。我有一个简单的应用程序,例如: App.js App = Ember.Application.create(); App.ApplicationAdapter = DS.FixtureAdapter.extend(); App.Router.map(function() { this.route('hello'); }); App.IndexRoute = Ember.Route.extend({ redirect: function()
App = Ember.Application.create();
App.ApplicationAdapter = DS.FixtureAdapter.extend();
App.Router.map(function() {
this.route('hello');
});
App.IndexRoute = Ember.Route.extend({
redirect: function() {
this.transitionTo('hello');
}
});
App.HelloController = Ember.ArrayController.extend({
name: 'tom'
});
App.HelloRoute = Ember.Route.extend({
model: function() {
return this.store.find('hello');
}
});
App.Hello = DS.Model.extend({
title: DS.attr('string')
});
App.Hello.FIXTURES = [{
id: 1,
title: 'hello'
},{
id: 2,
title: 'hello'
}];
我的看法是:
<script type="text/x-handlebars" data-template-name="application">
<h2>Welcome to Ember.js</h2>
{{outlet}}
</script>
<script type="text/x-handlebars" data-template-name="hello">
{{#each}}
{{title}} {{name}}
{{/each}}
</script>
欢迎来到Ember.js
{{outlet}}
{{{#各}
{{title}}{{name}
{{/每个}}
当我保存这段代码时,页面只显示“hello”“hello”,我希望显示“hello tom”“hello tom”。我做错了什么
谢谢你的帮助 问题是您正在将each语句中的上下文更改为模型,因此上下文中不再有名称
{{{#控制器中的每个项目}
{{item.title}{{controller.name}}
{{/每个}}
老实说,比这更好的方法是使用itemController并将属性放在该控制器上
App.HelloController=Ember.ArrayController.extend({
itemController:'singleHello'
});
App.SingleHelloController=Ember.ObjectController.extend({
名字:“汤姆”
});
{{{#控制器中的每个项目}
{{item.title}{{item.name}
{{/每个}}
<script type="text/x-handlebars" data-template-name="hello">
{{#each item in controller}}
{{item.title}} {{controller.name}}
{{/each}}
</script>
App.HelloController = Ember.ArrayController.extend({
itemController:'singleHello'
});
App.SingleHelloController = Ember.ObjectController.extend({
name: 'tom'
});
{{#each item in controller}}
{{item.title}} {{item.name}}</br>
{{/each}}