0

如果我有一个带有操作的按钮的简单模板,并使用此模板创建一个灰烬视图,我怎样才能让操作针对视图上的功能。

示例:http: //jsfiddle.net/Krutius/DxsXz/

车把/HTML

<div id="content">
    <div id="main"></div>
</div>

<script type="text/x-handlebars" data-template-name="test">
    <button class="btn btn-primary" {{action go}}>Suchen</button>
</script>​

JavaScript

$(function() {
    App = Em.Application.create({
        rootElement: "#content"
    });

    Em.View.create({
        templateName: 'test',
        go: function() {
            alert: "go";
        }
    }).append("#main");
});​
4

1 回答 1

2

问题是您的append电话:Ember.View#append不接受任何参数,请参阅代码

我不知道最终的应用程序/html 应该是什么样子,所以有几个答案可以解决你的问题。最简单的方法是将按钮内联到应用程序的模板中,请参阅http://jsfiddle.net/pangratz666/vY9PE/

车把

<script type="text/x-handlebars" data-template-name="test">
    <div id="content">
        <div id="main">
            <button class="btn btn-primary" {{action go}}>Suchen</button>
        </div>
    </div>
</script>​

JavaScript

App = Em.Application.create({});

Em.View.create({
    templateName: 'test',
    go: function(evt) {
        console.log('go', evt);
    }
}).append();​

Ember.js 虽然能够在特定位置插入元素,但这应该只对应用程序的主视图是必需的所以你可以使用Ember.View#appendTo(target). 但同样,这只应在极少数情况下使用。

于 2012-07-02T16:23:29.280 回答