将TextArea换行符绑定到html

时间:2012-05-18 15:53:43

标签: ember.js

我有一个绑定到div的textarea,这样你在textarea中输入的任何内容都会更新div。

绑定唯一不尊重的是textarea中的换行符,所以如果你在textarea中点击'enter',div就不会中断。

小提琴:http://jsfiddle.net/lifeinafolder/Ajkyw/19/

我正在使用帮助器,但它不起作用。

根据此链接上的第4点:http://codebrief.com/2012/03/eight-ember-dot-js-gotchas-with-workarounds/,它不应该起作用。但即使使用该链接上的解决方案,我也无法让它发挥作用。

有关如何在textarea内的换行符上使用<br/>标记更新div的任何想法?

1 个答案:

答案 0 :(得分:7)

使用计算属性格式化位置的换行符。

HTML:

<script type="text/x-handlebars">
    {{#with App.obj}}
        {{view Ember.TextArea valueBinding="location"}}  
        <div>{{{formattedLocation}}}</div>
    {{/with}}
</script>

JavaScript的:

App.obj = Ember.Object.create({
    location:'Palo Alto',

    formattedLocation: function() {
        return this.get('location').replace(/\n\r?/g, '<br />');
    }.property('location').cacheable()
});

http://jsfiddle.net/e8G2j/

在示例中,我删除了您的帮助程序,以便更准确地了解正在发生的事情。如果您需要使用帮助程序并且无法弄清楚,请告诉我,我将重新添加帮助程序。