我想要一个数组元素并用列表格式填充一个插座。我想知道什么是最好的做法,拜托。我有一个非常简单的应用程序,我在“ColorModel”中声明了一个颜色数组。我想用这个数组中的所有颜色动态填充/绑定“home”(data-template-name)中标记为“homeContent”的出口。我不确定在哪里以及如何动态绑定内容,内容应该绑定到“App.ColorController”吗?我已经进行了在线搜索并得到了一些提琴,但这些方法并不是直截了当的。我感谢您的所有帮助。谢谢。
这是小提琴:http: //jsfiddle.net/exciter/sqJEh/
应用代码:
$(function(){
App = Ember.Application.create({
ready: function(){
alert("APP INIT");
}
});
//APP
App.ApplicationController = Ember.Controller.extend();
App.ApplicationView = Ember.View.extend({
templateName: "application",
classNames: ['']
});
//NAVBAR
App.HomeController = Ember.Controller.extend();
App.HomeView = Ember.View.extend({
templateName: "home",
classNames: ['']
});
//MODELS
//COLORS
App.ColorModel = Ember.Object.create({
//COLOR ARRAY
var colorArr: Ember.A(["Orange","Blue","Green","Yellow","White","Grey","Purple","Silver","Black","Maroon","Sunburst"]);
});
App.ColorController = Ember.Controller.extend();
App.ColorView = Ember.View.extend({
templateName: '',
classNames: ''
});
App.Router = Ember.Router.extend({
enableLogging: true,
location: 'hash',
root: Ember.Route.extend({
//EVENTS
gotoHome: Ember.Route.transitionTo('home');
home: Ember.Route.extend({
router: '/',
connectOutlets: function(router, context){
router.get('applicationController').connectOutlet('home');
}
}),
})
});
App.initialize();
});
HTML 代码:
<script type="text/x-handlebars" data-template-name="application">
</script>
<script type="text/x-handlebars" data-template-name="home">
{{outlet homeContent}}
</script>
以下是问题:
在您的小提琴中,您有颜色数组:
var colors = ["Orange","Blue","Green",
"Yellow","White","Grey",
"Purple","Silver","Black",
"Maroon","Sunburst"]
我一直在以这种方式声明数组:
var color: Ember.A(["Orange","Blue","Green",
"Yellow","White","Grey",
"Purple","Silver","Black",
"Maroon","Sunburst"])
问题 1: Ember 宣扬的最佳实践是什么?
在你的小提琴的 HTML 中
<script type="text/x-handlebars" data-template-name="home">
{{#each color in controller}}
{{color}}
{{/each}}
</script>
我知道“颜色”来自哪里,但是您在哪里有 {{#each color in controller}},
问题2: 那个“颜色”是从哪里来的?它是一个for-in循环吗?
问题 3: 据我了解,视图之间的所有交互都是通过控制器完成的,因此,如果我需要声明一个函数,该函数会将“点击事件”绑定到 HTML 中的每种颜色,是否应该在其中声明所有此类函数它的控制器?
问题 4: 关于列表项 HTML 表示,如果需要动态生成列表项,应该在哪里声明?
我很抱歉用这些问题轰炸你,我已经通过文档和无尽的线程,但这些信息几乎没有在任何地方讨论过。每个人都想演示他们的排骨,但他们几乎没有触及表面。甚至官方文档也缺乏这样的细节。感谢您的所有帮助。