【发布时间】:2013-10-03 00:27:14
【问题描述】:
网站网址 http://ew.cayennecreative.com
在过去的几天里,我问了几个关于让 Foundation Orbit 滑块在 Ember 应用上运行的问题...对于在此处向关注 Ember 问题的任何人发送垃圾邮件,我深表歉意。
当我访问该站点时,我的问题是让 Foundation 初始化。我将此添加到application.js
$(document).ready(function() {
$(document).foundation();
});
现在滑块在刷新时正确加载。但是,当您进入站点的根目录并通过{{linkTo}} 导航到带有滑块的页面时,滑块的图像会堆叠起来,就像它无法识别 js 一样。但是,只要您点击刷新并重新加载该特定页面 -- /about/philosophy -- 滑块就会运行。
我确定这与 Foundation 的初始化有关,但我不确定。
谢谢。
更新
我已经尝试在组件中初始化:
Ew.OrbitSliderComponent = Ember.Component.extend({
initOrbit: function() {
$(document).foundation('orbit', {});
}.on('didInsertElement')
});
在视图中初始化:
Ew.ConditionsView = Ember.View.extend({
didInsertElement: function() {
$('.hidden-content').hide();
$('.toggle-bar').click(function (ev) {
var t = ev.target
$('#info' + $(this).attr('target')).toggle(500);
return false;
});
this.$().foundation();
}
});
我已经尝试在视图和组件中进行初始化。我已经尝试将 Foundation js 目录添加到应用程序的头部。还是什么都没有。
尝试activate 让函数在每次路由更改时触发。纳达。
Ew.ConditionsRoute = Ember.Route.extend({
activate: function() {
initOrbit: function() {
$(document).foundation('orbit', {});
}.on('didInsertElement')
}
});
铁路
application.js:
//= require jquery
//= require jquery_ujs
//= require handlebars
//= require ember
//= require_self
//= require ew
//= require foundation
Ew = Ember.Application.create();
//= require_tree .
application.html.erb
<head>
<script type="text/javascript" src="//use.typekit.net/fem3tnu.js"></script>
<script type="text/javascript">try{Typekit.load();}catch(e){}</script>
<meta charset="utf-8" />
<!-- Uncomment to make IE8 render like IE7 -->
<!-- <meta http-equiv="X-UA-Compatible" content="IE=7" /> -->
<!-- Set the viewport width to device width for mobile -->
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title><%= content_for?(:title) ? yield(:title) : "Untitled" %></title>
<%= stylesheet_link_tag "application" %>
<%= javascript_include_tag "vendor/foundation" %>
<%= javascript_include_tag "vendor/custom.modernizr" %>
<%= csrf_meta_tags %>
</head>
尝试使用和不使用“供应商/基金会”include_tag
【问题讨论】:
-
你在滥用 Ember。您不应该像在视图中那样通过 jQuery 进行 DOM 操作。我建议你仔细阅读所有Understanding Ember 部分。
-
谢谢,我会这样做的。同时,您对修复有什么建议吗?
-
对不起,没有。我对 Rails 不熟悉,Foundation 也不熟悉。
标签: javascript ember.js zurb-foundation