Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ember.js/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript EMBOJS EMBLCLI基金会5在移动响应上未定义的ScRelLTOP 我正努力将基金会5配对到我的BEP应用程序中,并且我的导航使用了TopBARJS,进入了一个新的问题。从桌面查看应用程序时,一切都很顺利,但是,当您展开chrome开发控制台以强制设计进入响应模式时,hamburger菜单会触发此消息_Javascript_Ember.js_Zurb Foundation_Ember Cli - Fatal编程技术网

Javascript EMBOJS EMBLCLI基金会5在移动响应上未定义的ScRelLTOP 我正努力将基金会5配对到我的BEP应用程序中,并且我的导航使用了TopBARJS,进入了一个新的问题。从桌面查看应用程序时,一切都很顺利,但是,当您展开chrome开发控制台以强制设计进入响应模式时,hamburger菜单会触发此消息

Javascript EMBOJS EMBLCLI基金会5在移动响应上未定义的ScRelLTOP 我正努力将基金会5配对到我的BEP应用程序中,并且我的导航使用了TopBARJS,进入了一个新的问题。从桌面查看应用程序时,一切都很顺利,但是,当您展开chrome开发控制台以强制设计进入响应模式时,hamburger菜单会触发此消息,javascript,ember.js,zurb-foundation,ember-cli,Javascript,Ember.js,Zurb Foundation,Ember Cli,控制台错误消息为: 未捕获的TypeError:无法读取未定义的属性“scrolltop” 此代码回购中可能会重复此问题: 我的假设是它与示例nav中的#符号有关: <nav class="top-bar" data-topbar data-options="scrolltop:false;is_hover:true;"> <ul class="title-area"> <li class="name"> TES

控制台错误消息为:

未捕获的TypeError:无法读取未定义的属性“scrolltop”

此代码回购中可能会重复此问题:

我的假设是它与示例nav中的#符号有关:

<nav class="top-bar" data-topbar data-options="scrolltop:false;is_hover:true;">
    <ul class="title-area">
        <li class="name">
            TEST
        </li>
        <li class="toggle-topbar menu-icon">
            <a href="#"></a>
        </li>
    </ul>
    <section class="top-bar-section center">
        <ul class="nav-header">
            <li><a {{action goToAnchor 'index' 'menu1'}}>menu1</a></li>
            <li><a {{action goToAnchor 'index' 'menu2'}}>menu2</a></li>
            <li><a {{action goToAnchor 'index' 'menu3'}}>menu3</a></li>
            <li><a {{action goToAnchor 'index' 'menu4'}}>menu4</a></li>
            <li><a {{action goToAnchor 'index' 'menu5'}}>menu5</a></li>
        </ul>
    </section>
</nav>

这花了一段时间,但我遇到了一些可靠的帖子,其中概述了如何提取模板呈现后要执行的代码段。更进一步,幸运的是,我发现了这两个线程,它们都在抱怨数据库加载不正确。答对 了这就是问题所在。下面是我如何解决它的

首先使用以下代码创建一个中心文件
app/external/view reopen.js

export default Ember.View.reopen({
  didInsertElement : function(){
    this._super();
    Ember.run.scheduleOnce('afterRender', this, this.afterRenderEvent);
  },
  afterRenderEvent : function(){
    // Implement this hook in your own subclasses and run your jQuery logic there.
    // Do not add code here as this fires after EVERY didInsertElement event
  }
});
然后将该视图挂接到
app.js
文件中的应用程序加载程序进程中,如下所示:

import Resolver from 'ember/resolver';
import loadInitializers from 'ember/load-initializers';
import View from './external/view-reopen';

Ember.MODEL_FACTORY_INJECTIONS = true;

var App = Ember.Application.extend({
  modulePrefix: 'frontend',
  Resolver: Resolver
});

loadInitializers(App, 'frontend');

export default App;
最后一部分,我觉得很脏。事实证明,基础必须像传统的客户机-服务器应用程序一样为每个视图重新设计。为了实现这一点,我必须修改所有视图以启动
$(document.foundation()与自定义的
afterRenderEvent
事件

export default Ember.View.extend({
    layoutName: 'layouts/home',
    templateName: 'views/home/index',
    tagName: 'main',
    classNames: 'view-home-wrapper',
    //------------------------------------------------------------
    afterRenderEvent : function(){
        //------------------------------------------------------------
        $(document).foundation();
        //------------------------------------------------------------
    }
    //------------------------------------------------------------
});
虽然这解决了问题,但必须有更好的方法。也许,也许不是

export default Ember.View.extend({
    layoutName: 'layouts/home',
    templateName: 'views/home/index',
    tagName: 'main',
    classNames: 'view-home-wrapper',
    //------------------------------------------------------------
    afterRenderEvent : function(){
        //------------------------------------------------------------
        $(document).foundation();
        //------------------------------------------------------------
    }
    //------------------------------------------------------------
});