【问题标题】:Creating a Sidebar in ember JS在 ember JS 中创建侧边栏
【发布时间】:2014-08-29 12:33:55
【问题描述】:

我有这个例子: http://tympanus.net/codrops/2013/04/17/slide-and-push-menus/

我想将其推送到 EMBER js 中的模板句柄栏中

我做的是

索引.HTML

<script type="text/x-handlebars">

I PUT ALL THE DIV SECTION IN THE INDEX.HTML EXAMPLE
</script>

我添加了那些 JS

  <script src="js/libs/jquery-1.10.2.js"></script>
  <script src="js/libs/handlebars-1.1.2.js"></script>
  <script src="js/libs/ember-1.6.1.js"></script>
  <script src="js/app.js"></script>
  <script src="tests/classie.js"></script>
  <script src="tests/modernizr.custom.js"></script>

我运行文件,当我点击按钮时没有任何反应。但是,如果我从 HANDLEBARS 中删除 DIV 部分,它就可以工作......

谢谢 S

【问题讨论】:

    标签: javascript jquery html css ember.js


    【解决方案1】:

    在执行初始化侧边栏的代码时,模板尚未呈现。因此选择器将找不到元素,并且 onclick 函数无法绑定到按钮。视图中有一个 模板渲染后调用的 didInsertElement 事件。将初始化侧边栏的代码包装成一个 init() 函数:

    function sidebarInit(){
       var menuLeft = document.getElementById( 'cbp-spmenu-s1' ),
            menuRight = document.getElementById( 'cbp-spmenu-s2' ),
            menuTop = document.getElementById( 'cbp-spmenu-s3' ),
        ...
        if( button !== 'showRightPush' ) {
            classie.toggle( showRightPush, 'disabled' );
        }
      }
    

    从你的角度来称呼它。

       App.ApplicationView = Ember.View.extend({
          didInsertElement : function(){
            this._super();
            sidebarInit();             
          }
        });
    

    【讨论】:

    • 谢谢,但你能告诉我 //classie.js init() 在这里调用是什么意思吗?抱歉,我现在有点菜鸟:P
    • 我以为侧边栏代码在那个文件中,但我错了。我会修改我的答案。
    • 野兽 :) 谢谢伙计,我稍微调整了一下,得到了我想要的。但我现在正在考虑更好的东西哈哈 :P:P 谢谢
    猜你喜欢
    • 2020-10-26
    • 2023-01-29
    • 2012-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多