我真的陷入了这个问题。
我有一个简单的对象控制器:
ContractorApp.ContractController = Em.ObjectController.extend
needs: ['application']
bidSize: ( ->
@get( 'model.budget' )
).property 'model', 'model.budget'
bidden: ( ->
@get('controllers.application.model.bids').findBy( 'contract', @get('model') )
).property 'model', 'controllers.application.model.bids.@each'
actions:
make_bid: ()->
bid = @store.createRecord 'bid',
contract: @get( 'model' )
proposal: @get( 'bidSize' )
bid.save().then ->
alert 'cool!'
承包商可以对合同进行投标。他们在我的系统中默认出价等于合同的预算。因此,当承包商打开合同时(我认为属性'模型'更改)我希望将出价输入更改中的出价大小设置为默认值:
<h3>{{title}}</h3>
<p>{{ description }}</p>
<p class="em-success">{{ budget }} руб</p>
{{#if bidden}}
<p>You have already proposed <strong>{{bidden.proposal}}</strong></p>
{{else}}
{{ input value=bidSize class="form-control" }}
<button {{action "make_bid"}} class="btn btn-ar btn-primary">Propose it!</button>
{{/if}}
所以它在用户出价(make_bid动作)之前完美运行。之后&#39; bidden&#39;属性计算为假设,但bidSize不会被称为永远。 我使用EmberData。应用程序控制器将用户帐户作为模型。它的所有出价都出现在他的出价&#39;属性。 我在这做错了什么?谢谢!
答案 0 :(得分:0)
这里budget
是什么?它的值是否会在make_bid
执行时发生变化?看起来是因为这个属性。