gpt4 book ai didi

javascript - Ember.js - 我希望在转换到新路线时触发一个 Action 事件(在 =""上)

转载 作者:行者123 更新时间:2023-12-03 12:37:15 25 4
gpt4 key购买 nike

我希望在转换到新路线时触发操作事件 (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 中,但是当我通过 {{#link-to 'doc' this.docID}} 转换到 'doc' 时,它没有被触发。 {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);
}
}
});

更新 DOS:DocsController 中的 setDocID 设置为 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 评论的那样,您似乎正在寻找 the activate hook在您的路线内。当您输入定义它的路线时,会调用此函数。如果您想在每次转换时调用它,您可以考虑为您的应用程序定义一个基本路由并扩展它,而不是 Em.Route:

App.BaseRoute = Em.Route.extend(
activate: function () {
// Do your thing
}
);
App.YourRoutes = App.BaseRoute.extend()

可能有更合适的地点/时间来执行此操作,但在不完全了解您的操作的作用的情况下,这可能是最好的猜测。

预计到达时间:查看您的编辑,您不会希望所有路由都像我上面所做的那样扩展 App.BaseRoute ;您可能应该只在需要它的路由中明确包含 activate Hook 。

关于javascript - Ember.js - 我希望在转换到新路线时触发一个 Action 事件(在 =""上),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23683058/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com