我正在做一个带有实时预览的产品表单,只是为了好玩
HBS
<div class="col-md-6 col-xs-12">
<label>Product name: </label>
{{input type="text" placeholder="First name" value=newProductname class="form-control"}}
</div>
<div class="col-md-3 col-xs-12">
<label>Price: </label>
{{input type="text" placeholder="$$" value=price class="form-control"}}
</div>
<div class="col-md-3 col-xs-12">
<label>Image location: </label>
{{input type="text" placeholder="Url" value=Url class="form-control"}}
</div>
这个实时预览只需使用{{}}
中的值即可<h1>{{newProductname}}</h1>
<p>{{price}}$</p>
<p>{{description}}<p>
<img {{bind-attr src="need Url value here"}}></img>
那么你将如何进行这种嵌套绑定或者只是推荐另一种解决方案呢?
欢呼声
克里斯蒂安
答案 0 :(得分:1)
出于某种原因,Ember不喜欢大写属性,我会调查一下。现在使用小写属性名称。
<div class="col-md-3 col-xs-12">
<label>Image location: </label>
{{input type="text" placeholder="Url" value=url class="form-control"}}
</div>
<img {{bind-attr src=url}}>
http://emberjs.jsbin.com/idUWEGU/2/edit
看起来与全局命名空间相关,显然是一个大写属性推断全局命名空间Bypass/disable uppercase -> global inference in Handlebars templates?
http://emberjs.jsbin.com/idUWEGU/1/edit
您可以通过更多地限定绑定来定义范围。
<div class="col-md-3 col-xs-12">
<label>Image location: </label>
{{input type="text" placeholder="Url" value=controller.Url class="form-control"}}
</div>
<img {{bind-attr src=controller.Url}}>