* Cross-platform code generation for component v-model
( el, value, modifiers )
| 5539 | * Cross-platform code generation for component v-model |
| 5540 | */ |
| 5541 | function genComponentModel ( |
| 5542 | el, |
| 5543 | value, |
| 5544 | modifiers |
| 5545 | ) { |
| 5546 | var ref = modifiers || {}; |
| 5547 | var number = ref.number; |
| 5548 | var trim = ref.trim; |
| 5549 | |
| 5550 | var baseValueExpression = '$$v'; |
| 5551 | var valueExpression = baseValueExpression; |
| 5552 | if (trim) { |
| 5553 | valueExpression = |
| 5554 | "(typeof " + baseValueExpression + " === 'string'" + |
| 5555 | "? " + baseValueExpression + ".trim()" + |
| 5556 | ": " + baseValueExpression + ")"; |
| 5557 | } |
| 5558 | if (number) { |
| 5559 | valueExpression = "_n(" + valueExpression + ")"; |
| 5560 | } |
| 5561 | var assignment = genAssignmentCode(value, valueExpression); |
| 5562 | |
| 5563 | el.model = { |
| 5564 | value: ("(" + value + ")"), |
| 5565 | expression: ("\"" + value + "\""), |
| 5566 | callback: ("function (" + baseValueExpression + ") {" + assignment + "}") |
| 5567 | }; |
| 5568 | } |
| 5569 | |
| 5570 | /** |
| 5571 | * Cross-platform codegen helper for generating v-model value assignment code. |
no test coverage detected