Metamorph脚本标签被添加到Ember / Sproutcore 2.0中的value属性

时间:2012-02-03 21:05:00

标签: ember.js

我有以下控制器,其中包含一个视图:

Lead.Controllers.UrlSearch = Ember.Object.extend
  init: ->
    @_super()

    @url_search = Lead.UrlSearch.create()

    @url_search.set('search_url', 'http://www.bdec-online.com/bd-cmpy/bd-cz.cfm')

    @view = Ember.View.create
      controller: @
      urlSearchBinding: 'controller.url_search'
      templateName: 'app/templates/url_search/show'

    @view.appendTo('#fieldset')

app / templates / url_search / show的模板如下

<label for="url_search_url">Url</label>
<input id="url_search_url" name="url_search[url]" size="30" type="search" value="{{urlSearch.search_url}}">
<button class="button" id="goButton" type="button">GO</button>

除了包含metamorph脚本标记的value参数之外,视图再次呈现:

<input id="url_search_url" name="url_search[url]" size="30" type="search" value="&lt;script id='metamorph-0-start' type='text/x-placeholder'&gt;&lt;/script&gt;http://www.bdec-online.com/bd-cmpy/bd-cz.cfm&lt;script id='metamorph-0-end' type='text/x-placeholder'&gt;&lt;/script&gt;">

无论如何我可以阻止这些脚本标签被渲染,或者是否有某个配置设置来阻止它?

2 个答案:

答案 0 :(得分:14)

如果您想避免将属性输出包装在这些标记中,请使用未绑定的帮助程序:

My new car is {{unbound color}}.

您的输出没有标记,但要小心,因为输出不会自动更新!

My new car is blue.

(见http://emberjs.com/#toc_handlebars-basics

答案 1 :(得分:9)

这正是{{bindAttr}}助手可用的原因。这应该适合你:

<input id="url_search_url" name="url_search[url]" size="30"
 type="search" {{bindAttr value="urlSearch.search_url"}}>