1

我在使用 ember.js 时遇到了一些麻烦。

我有以下代码可以正确调用路由器中的事件来创建笔记本。但是,它不会传递笔记本上下文,它是未定义的。我一直在寻找几个小时来尝试找到解决方案。

我发现了 thisthis,它们很有帮助,但我不完全确定我是否走在正确的轨道上。我错过了什么吗?

路线

App.NotebooksNewRoute = Ember.Route.extend
    model: ->
        App.Notebook.createRecord()
    events:
        create: (notebook) ->
            #persist notebook

形式

{{#with content}}
    <form {{action create content on="submit" }} >
        <div>
            {{view Ember.TextField placeholder="Enter a title" valueBinding="title" }}
        </div>

        <div>
            {{view Ember.TextArea placeholder="Notes" valueBinding="description" }}
        </div>

        <button type="submit">Create</button>
    </form>
{{/with}}
4

1 回答 1

1

我错过了什么吗?

更改{{action create content on="submit" }}{{action create this on="submit" }}

为什么?

当您使用 handlebars helper{{#with}}时,封闭的块将在指定变量的上下文中呈现。因此,之后{{#with content}}this无论是什么,您都可以直接访问像和这样的content属性,而不是和titledescriptioncontent.titlecontent.description

于 2013-04-02T03:05:12.733 回答