小编Geo*_*org的帖子

Ember.js:如何访问CollectionView中的特定项?

首先,我想说我真的很喜欢ember.js.我已经尝试了Knockout和Angular,但发现它们有点突兀,一切都必须按照自己的方式完成.我觉得恩比让我更自由地构建你认为合适的东西.有了这个说我有几个问题.

1.我想做类似以下的事情,显然不起作用:

<a href="/item/{{ content.id }}"><h3>{{ content.name }}</h3></a>

相反,我必须创建一个绑定:

<a {{ bindAttr href="url" }}><h3>{{ content.name }}</h3></a>

如何在视图中创建url路径?我可以轻松地在模型上创建一个名为url的计算属性,但这感觉很糟糕而且不是很MVC.我是否必须为元素创建新视图或注册一个感觉有点麻烦的帮助器?

这是完整的代码:

App = Ember.Application.create();

var sampleData = [ Ember.Object.create({ id: '123456789', name: 'John' }), Ember.Object.create({ id: '987654321', name: 'Anne' }) ]

App.itemController = Ember.ArrayController.create({
    content: sampleData,
    removeItem: function(item) {
        this.content.removeObject(item);
    }
});

App.ItemListView = Ember.View.extend({
    itemDetailView: Ember.CollectionView.extend({
        contentBinding: 'App.itemController',
        itemViewClass: Ember.View.extend({
            tagName: 'li',
            url: '' // HOW TO GET '/item/123456789'
            deleteButton: Ember.Button.extend({
                click: function(event) {
                    var item = this.get('content');
                    App.itemController.removeItem(item);
                }
            }) …
Run Code Online (Sandbox Code Playgroud)

model-view-controller ember.js

7
推荐指数
1
解决办法
3766
查看次数

标签 统计

ember.js ×1

model-view-controller ×1