【发布时间】:2015-03-16 17:19:01
【问题描述】:
我正在创建一个 mixin 来验证带有 texFields 的组件,它看起来像这样,我正在使用 Ember.defineProperty 使用动态相关键动态创建一个 cp:
App.ValidationMixin = Ember.Mixin.create
classNameBindings: ['isInvalid']
input: (e) ->
@_super.apply this, arguments
setup: Ember.on 'didInsertElement', ->
unless validations = @get('validations')
el = @autocompleteElement()
# I had to add this to access the prop rather than it getting
# triggered when the dynamic property changes
if @get('isInvalid')
el.addClass 'is-invalid'
else
el.removeClass 'is-invalid'
validationMixin: Ember.on 'didInsertElement', ->
unless validations = @get('validations')
return
dynamicProperty = # logic to determine dynamic property
Ember.defineProperty this, 'isInvalid', Ember.computed dynamicProperty, 'validator.isSubmitted', ->
# validation logic
问题是,我必须手动检查this.get('isInvalid'),而不是在依赖键之一更改时执行的属性函数。
谁能解释这是为什么?
【问题讨论】:
标签: ember.js