我正在尝试将测试应用程序从Ember 1.0移动到Ember 2.0
我写了一个索引模板,带有一个动作事件' alert'
(Pdb) p phash_tracks
<Swig Object of type 'track_t **' at 0x7fb9e37c9030>
我编写了一个application.js控制器来初始化属性
<table id="t01">
<tr>
<th>Company Name</th>
</tr>
{{#each model as |item|}}
<tr>
<td {{action "alert" "alert form company name" }}>{{item.name}}</td>
</tr>
{{/each}}
</table>
我还有一个index.js控制器来在索引控制器级别执行一些逻辑
import Ember from 'ember';
export default Ember.Controller.extend({
className:"hide",
message: ""
});
最后我有一个带有&#39;警告&#39;的路由/ application.js。定义了事件处理程序,以更新应用程序控制器属性(className,message)
import Ember from 'ember';
export default Ember.Controller.extend({
actions:{
alert: function(){
console.log("do some controller level processing");
return true;
}
}
});
以及用于提供模型数据的routes / index.js
但它在Ember.js 2.0(运行2.4.2)中无法正常工作 并且控制台中没有错误消息,我只获得索引控制器控制台日志输出
似乎触发了路由/ application.js中的警报操作,正确接收了消息,但未设置属性... 我可以获得应用程序控制器吗?与
import Ember from 'ember';
export default Ember.Route.extend({
actions:{
alert: function(message){
var applicationController = this.controllerFor("application");
applicationController.set("className","alert");
applicationController.set("message",message);
Ember.run.later(function(){
applicationController.set("className","hide");
},2000);
}
}
});
感谢您的反馈
答案 0 :(得分:0)
解决了
应用程序模板没有正确的类(div中的“className”属性...因此正确处理了警报操作,但模板中没有发生任何更改..