Ember.JS+;Require.JS—;根据管线渲染特定视图
我正在试用Ember.JS,到目前为止,我在Require.JS中使用它时遇到了一个非常困难的过程,即使使用了一个(非常)基本的示例 首先,我想说Require.JS应该(我认为)改善我在Ember.JS中看到的两个弱点:Ember.JS+;Require.JS—;根据管线渲染特定视图,ember.js,requirejs,javascript-framework,Ember.js,Requirejs,Javascript Framework,我正在试用Ember.JS,到目前为止,我在Require.JS中使用它时遇到了一个非常困难的过程,即使使用了一个(非常)基本的示例 首先,我想说Require.JS应该(我认为)改善我在Ember.JS中看到的两个弱点: 组织应用程序,特别是在单独的js文件中 不加载不必要的代码 我基本上是想显示一个带有页眉/内容/页脚的应用程序。因此,当我创建应用程序时,我绑定了ApplicationController和ApplicationView,而该视图处理模板。这在显示(相当容易)页眉和页脚方
- 组织应用程序,特别是在单独的js文件中
- 不加载不必要的代码
我的错误在哪里?如何根据路由动态加载模板?编辑:在使用view.append()注入时,实际上不需要在主html文档中声明占位符 我一直在努力解决同样的问题,最终我找到了一种方法,可以通过路由器、控制器、视图和模板动态加载它们 这是我的主“embermain.js”文件: 以下是我的AboutController:
require(
['app/view/AboutView'],
function (view) {
var controller = MyRanks.AboutController = Ember.Controller.extend({
});
return controller;
});
以下是我的AboutView:
define(
['text!app/templates/about.html'],
function (template) {
var view = Ember.View.create({
template: Ember.Handlebars.compile(template),
templateName: 'about',
variable: 'my value',
didInsertElement: function() {
console.log( "Yes the view was included");
}
});
view.append();
return view;
}
);
下面是关于.html的模板
This is the template {{view.variable}}
希望有帮助!:) 你看过当地人了吗。看起来它能完全解决你的问题?嘿,谢谢你的回答!事实上,不久前我在#emberjs上问了同样的问题,我知道RequireJS在emberjs中是一个不好的做法,主要是因为一个大文件比很多异步调用要好。现在它在这里是有意义的,我使用的是yeoman,它的预设grunt构建任务只是将其混合到一个丑陋的大js文件中,这使得我所有的努力都毫无用处。但另一方面,这并不是我不喜欢它,这肯定不是我的情况,但如果它是一个巨大的应用程序,将导致一个js文件的重量几兆字节,这是最好的方法吗?我也这么认为,但最终我的文件或多或少是40ko,所以我认为在非常罕见的情况下,使用RequireJS可能会有用,但大多数情况下并非如此。
This is the template {{view.variable}}