Ember.js -我想要一个Action事件(on=""),当有一个新的路由转换时触发
Ember.js - I want an Action event (on="") to trigger when there is a transition to a new Route
我想要一个Action事件(on=")在转换到新路由时触发。
我已经看到了Action事件处理程序的列表,我能找到的最接近的是将动作附加到页面上最大的HTML元素上,并用'Mousemove '触发它。这是我想要做的一件有严重缺陷的事情。
把它画出来。
<div {{action 'displayEitherHtml1or2'}} class="largestDOMelement">
{{#if showHtml1}}
// html 1 inside
{{/if}}
{{#if showHtml2}}
// html 2 inside
{{/if}}
</div>
'/objects'是一个对象列表,点击其中一个会指向'object/somenumber'。当我进入'object/somenumber'页面时,动作应该会自动触发。
更新:我已经从以前的更新和转储到我的DocRoute的内容,但没有它被触发,当我过渡到'doc'通过{{#链接到'doc' this。docID}} {{docTitle}}{{/链接}}
VpcYeoman.DocRoute = Ember.Route.extend(VpcYeoman.Authenticated,{
toggleLetterSwitch: false,
togglePermitSwitch: false,
activate: function () {
var docTemplateID = this.get('docTemplateID');
if ( docTemplateID == 2) {
this.set('toggleLetterSwitch', true);
this.set('togglePermitSwitch', false);
console.log('docTemplateID equals 2');
} else {
this.set('toggleLetterSwitch', false);
this.set('togglePermitSwitch', true);
}
}
});
UPDATE DOS: setDocID在DocsController中设置为1。这是全部内容
VpcYeoman.DocsController = Ember.ArrayController.extend({
tempDocId: 1,
actions: {
addDoc: function (params) {
var docTitle = this.get('docTitle');
var docTemplateID = 1;
var docTemplateID = this.get('tempDocId');
console.log(this.get('tempDocId'));
var store = this.store;
var current_object = this;
var doc = current_object.store.createRecord('doc', {
docTitle:docTitle,
docTemplateID:docTemplateID
});
doc.save();
return true;
},
setDocId: function (param) {
this.set('tempDocId', param);
console.log(this.get('tempDocId'))
},
}
});
正如@fanta评论的那样,看起来你正在寻找路由中的activate
钩子。当你进入定义它的路由时,它会被调用。如果你想在每次转换时都调用它,你可以考虑为你的应用定义一个基本路由,并扩展它,而不是Em.Route:
App.BaseRoute = Em.Route.extend(
activate: function () {
// Do your thing
}
);
App.YourRoutes = App.BaseRoute.extend()
可能有一个更合适的地点/时间来做这件事,但在不知道你的动作是做什么的情况下,这可能是最好的猜测。
ETA:看看你的编辑,你不会希望所有的路由都像我上面做的那样扩展App.BaseRoute;你应该在需要activate
钩子的路由中显式地包含它。
相关文章:
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 如何在只能有一个asp.net表单的主页上从asp.net页面中的javascript中获取值
- 有可能在来自链接的警报中有一个值吗
- 是否<asp:文本框>有一个onFocusLost事件
- 让谷歌数据图表有一个24小时x轴
- PayPal按钮是否有一个简单的选项,其中金额基于一些用户输入
- 我确实有一个表单,如果用户输入了输入,它应该检查否定或空的输入框,并抛出一条警告消息
- 在这个使用hasOwnProperty的对象扩展程序中有一个错误,I'我不确定那个bug是什么,也不确定这个扩展
- 当知道同一hiearch中至少有一个元素时,遍历到元素.结构使用jquery
- PNG图像被覆盖,但每个图像都有一个链接可以更改,每次一个-Javascript/jQuery/CSS
- JQuery是否有一个“;移动“;作用或者有没有一种更紧凑的方法来做到这一点
- Regex或javascript每X个连续单词中有一个单词
- Jquery时间启动计时器,我有一个计时器的代码,但它在页面加载时启动
- 是否有一个javascript库来解析简单的查询
- 在一个函数中,我有一个未捕获的语法错误:意外的标记else
- 检查一个元素是否有一个类与另一个类总是返回true
- 我有一个用幻灯片制作的网页,但幻灯片会在屏幕上移动
- "“聪明”;HTML中的溢出:有什么方法可以放省略号“"结尾有一个链接,可以查看整个内容
- 我有一个onload=“;setDate()"在<身体>html文档的标记.为什么它没有用我的Js
- JS:有一个新的运算符"=>&”;