Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ember.js 如何在控制器中获取模型值_Ember.js - Fatal编程技术网

Ember.js 如何在控制器中获取模型值

Ember.js 如何在控制器中获取模型值,ember.js,Ember.js,试图在控制器的操作(警报)中获取单击的项目的值,但我总是得到未定义的。我想从模型返回JSON(多个条目),并在控制器中访问它(不使用FixtureAdapter) ... {{{#模型中的每个项目} '中的操作+this.get('model').get('name')); } } }); 为什么不将项目作为参数传递给操作 {{#each item in model}} <p {{aciton 'myClick' item}}> {{item.name}} &l

试图在控制器的
操作
(警报)中获取单击的
项目
的值,但我总是得到
未定义的
。我想从模型返回JSON(多个条目),并在控制器中访问它(不使用
FixtureAdapter


...        
{{{#模型中的每个项目}
{{item.name}

{{/每个}} ... App.FirstRoute=Ember.Route.extend({ 模型:函数(){ 返回[ {name:'Ruby'}, {name:'Java'} ] //返回['Ruby','Java','Scala']; } }); App.FirstController=Ember.Controller.extend({ 标题:“来自FirstController的数据”, 行动:{ myClick:function(){ 警报('controller->'中的操作+this.get('model').get('name')); } } });
为什么不将项目作为参数传递给操作

{{#each item in model}}
  <p {{aciton 'myClick' item}}> {{item.name}} </p>
{{/each}}


App.FirstController = Ember.Controller.extend({
  title:'data from FirstController',
  actions: {
    myClick: function(item) {
      alert('action in controller -> ' + item.name);
    }
  }
});
{{{#模型中的每个项目}
{{item.name}

{{/每个}} App.FirstController=Ember.Controller.extend({ 标题:“来自FirstController的数据”, 行动:{ myClick:功能(项目){ 警报(“控制器中的操作->”+项名称); } } });

顺便说一句,您不会返回路线中的
Ember.Object
。您的模型是纯javascript对象的数组,因此不使用
item.get('name')
使用
item.name

绝妙的想法。但我得到了
uncaughttypeerror:undefined不是控制台中的一个函数
。我能修好它
{{#each item in model}}
  <p {{aciton 'myClick' item}}> {{item.name}} </p>
{{/each}}


App.FirstController = Ember.Controller.extend({
  title:'data from FirstController',
  actions: {
    myClick: function(item) {
      alert('action in controller -> ' + item.name);
    }
  }
});