|
@@ -4,7 +4,7 @@ import { mutateDom } from '../mutation'
|
|
|
import bind from '../utils/bind'
|
|
|
import on from '../utils/on'
|
|
|
|
|
|
-directive('model', (el, { value, modifiers, expression }, { effect, cleanup }) => {
|
|
|
+directive('model', (el, { modifiers, expression }, { effect, cleanup }) => {
|
|
|
let evaluate = evaluateLater(el, expression)
|
|
|
let assignmentExpression = `${expression} = rightSideOfExpression($event, ${expression})`
|
|
|
let evaluateAssignment = evaluateLater(el, assignmentExpression)
|
|
@@ -25,14 +25,11 @@ directive('model', (el, { value, modifiers, expression }, { effect, cleanup }) =
|
|
|
}})
|
|
|
})
|
|
|
|
|
|
- if (! el._x_removeModelListeners) el._x_removeModelListeners = {}
|
|
|
- el._x_removeModelListeners[value || 'default'] = removeListener
|
|
|
-
|
|
|
- cleanup(() => el._x_removeModelListeners[value || 'default']())
|
|
|
+ cleanup(() => removeListener())
|
|
|
|
|
|
// Allow programmatic overiding of x-model.
|
|
|
let evaluateSetModel = evaluateLater(el, `${expression} = __placeholder`)
|
|
|
- let obj = {
|
|
|
+ el._x_model = {
|
|
|
get() {
|
|
|
let result
|
|
|
evaluate(value => result = value)
|
|
@@ -43,14 +40,6 @@ directive('model', (el, { value, modifiers, expression }, { effect, cleanup }) =
|
|
|
},
|
|
|
}
|
|
|
|
|
|
- // This is a "named" binding (x-model:name).
|
|
|
- if (value) {
|
|
|
- if (! el._x_models) el._x_models = {}
|
|
|
- el._x_models[value] = obj
|
|
|
- } else {
|
|
|
- el._x_model = obj
|
|
|
- }
|
|
|
-
|
|
|
el._x_forceModelUpdate = () => {
|
|
|
evaluate(value => {
|
|
|
// If nested model key is undefined, set the default value to empty string.
|