【问题标题】:how to display multiple ember models on page如何在页面上显示多个 ember 模型
【发布时间】:2014-04-03 02:37:41
【问题描述】:

我有一个带有四个 FIXTURE 实例的 ember 模型。我想一次将它们全部显示在页面上。我希望他们在页面上的位置是顶部、左侧、右侧或底部之一。这些值将从模型上的属性中读取。我是客户端开发和余烬的新手。我不确定这样的最佳实践是什么。我觉得应该在 css 中完成定位。我知道我需要为我的模型使用 Ember.ArrayController 但我不知道如何去做。非常感谢您朝正确的方向轻推。这是我的jsfiddle

<script type="text/x-handlebars" data-template-name="server">
{{region}}    
</script>

<script type="text/x-handlebars" data-template-name="servers">

{{#each 'server'}}
    {{region}}
{{/each}}

</script>

    App.Server = DS.Model.extend({

    region: DS.attr('string')

}).reopenClass({
    FIXTURES: [
        {
            id:1,
            region: "North"

        },
        {
            id:2,
            region: "South"
        },
        {
            id:3,
            region: "East"
        },
        {
            id:4,
            region: "West"
        },

    ]

});

.north {

}

.east {

}

.south {

}

.west {

}

【问题讨论】:

    标签: javascript html css ember.js


    【解决方案1】:

    这是一个关于您的数据的简单示例。

    http://emberjs.jsbin.com/OxIDiVU/354/edit

    另一个例子是你的数据在服务器路由中。

    http://emberjs.jsbin.com/OxIDiVU/355/edit

    主要思想是你有一个路由器,它为你的应用定义了 url。不同的 url 由路由支持,路由用于获取支持用于该路由的模板的模型。如果您选择使用 Ember Data,则需要使用商店来获取记录。

    我建议您阅读 Ember 网站上的指南来创建基金会。 http://emberjs.com/guides/ 祝你好运,如有更多问题,请随时在网站上提问!

    App.ServersRoute = Ember.Route.extend({
      model: function() {
        return this.get('store').find('server');
      }
    });
    

    【讨论】:

    • 感谢您的回复。我仍然不清楚如何一次在页面上显示所有模型。这是 {{each}} 助手的限制吗?是否有另一个助手可以一次显示模型中的所有元素?我想出了一种方法来使用 css 即管理页面上每个元素的位置。 .north{ 左:357px;顶部:96 像素;我可以使用链接到帮助器来一个一个地访问这些元素,但我想使用一个不同的帮助器来将它们全部放在屏幕上。我必须为此创建自己的助手吗?这甚至可能吗?
    猜你喜欢
    • 1970-01-01
    • 2018-04-26
    • 2010-11-17
    • 1970-01-01
    • 2015-04-23
    • 1970-01-01
    • 2021-05-11
    • 2019-09-03
    • 1970-01-01
    相关资源
    最近更新 更多