如何为sproutcore / emberjs内联脚本模板指定标记名称?

时间:2011-12-25 10:51:11

标签: ember.js sproutcore

Ember内联模板包含在DIV中。我想用不同的标签包装它们。我该怎么做?

以下模板:

<script type="text/x-handlebars">
Foo
</script>

生成如下内容:

<div>Foo</div>

我想生成类似的东西:

<someOtherTag>Foo</someOtherTag>

1 个答案:

答案 0 :(得分:2)

我不认为在当前版本0.9.3中这是可能的。如果您查看https://github.com/emberjs/ember.js/blob/master/packages/ember-views/lib/views/view.js#L707 div,则在未设置属性tagName时使用。

您可以定义自己的Ember.View并设置tagName,但我想您希望在不创建自己的视图类的情况下实现此目的。

<强>更新

我通过在脚本元素上将自定义视图指定为data-view属性找到了一种方法。

<head>
    <script type="text/javascript" >
        App = Ember.Application.create({});
        App.View = Ember.View.extend({
            tagName: 'someOtherTag'
        });
    </script>
</head>
<body>
    <script type="text/x-handlebars" data-view="App.View" >
        Foo
    </script>
</body>

请参阅http://jsfiddle.net/9F7kR/2/