繁体   English   中英

Ember.js中的简单console.log控制器操作方法

[英]Simple console.log controller action method in Ember.js

在我的application.js controller我执行以下操作:

export default Ember.ObjectController.extend({
    //------------------------------------------------------------
    currentPathChanged: function () {
        window.scrollTo(0, 0);
    }.observes('currentPath'),
    //------------------------------------------------------------
    actions: {
        //------------------------------------------------------------
        pageBlock: function(desc_text){
            if(typeof desc_text === 'undefined'){
                desc_text='Processing';
            }
            $.blockUI.defaults.css = {};
            $.blockUI({message: desc_text});
        },
        pageUnBlock: function(){
            $.unblockUI({fadeOut:200});
        }
        //------------------------------------------------------------
    }
    //------------------------------------------------------------
});

由于我刚开始调试Emberjs应用程序,因此如何从控制台调用这些动作? 基本上,我想确认它们是否正常工作,并希望将其连接到子视图。

我正在使用ember cli项目来构建我的ember应用程序。

撰写本文时的当前设置:

DEBUG: -------------------------------
DEBUG: Ember      : 1.5.1
DEBUG: Ember Data : 1.0.0-beta.7+canary.b45e23ba
DEBUG: Handlebars : 1.3.0
DEBUG: jQuery     : 2.1.1
DEBUG: -------------------------------

创建它的一个实例。 创建实例时, actions哈希将移动到_actions

foo = App.ApplicationController.create();

foo._actions.pageBlock();

我个人通常只是在应用程序模板上放一个按钮

<button {{action 'pageBlock' foo}}>Block action</button>

http://emberjs.jsbin.com/lorocere/1/edit

另外,您可以通过在调试器工具的“ Ember”选项卡中单击应用程序控制器的$ E,使用Ember Inspector在控制台中轻松获得控制器的实例。 https://chrome.google.com/webstore/detail/ember-inspector/bmdblncegkenkacieihfhpjfppoconhi?hl=zh-CN

我希望找到一个更好的答案,但这是我的方法。 首先,使用调试器输出找到应用程序视图ID。 然后,您可以在console.log中运行以下命令:

foo = Ember.View.views['ember277'].get('controller');
foo._actions.pageBlock();
foo._actions.pageUnBlock();

我引用的帖子是Ember-JS-Best-Practices-helpful-debugging-tools

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM