* Cross-platform codegen helper for generating v-model value assignment code. * 用于生成v-model值赋值代码的跨平台codegen助手。 * 创赋值代码,转义字符串对象拆分字符串对象 把后一位key分离出来 * * 返回 key"=" value * 或者 $set(object[info],key,value)
(
value, //key
assignment //值
)
| 9927 | * 或者 $set(object[info],key,value) |
| 9928 | */ |
| 9929 | function genAssignmentCode( |
| 9930 | value, //key |
| 9931 | assignment //值 |
| 9932 | ) { |
| 9933 | |
| 9934 | //转义字符串对象拆分字符串对象 把后一位key分离出来 |
| 9935 | // 两种情况分析1 如果数据是object.info.name的情况下 则返回是 {exp: "object.info",key: "name"} |
| 9936 | //如果数据是object[info][name]的情况下 则返回是 {exp: "object[info]",key: "name"} |
| 9937 | var res = parseModel(value); |
| 9938 | if (res.key === null) { |
| 9939 | return (value + "=" + assignment) // 没有key就是当前值,返回当前值的key |
| 9940 | } else { |
| 9941 | return ("$set(" + (res.exp) + ", " + (res.key) + ", " + assignment + ")") // 返回更新值 '$set(object[info],key,value)' |
| 9942 | } |
| 9943 | } |
| 9944 | |
| 9945 | /** |
| 9946 | * Parse a v-model expression into a base path and a final key segment. |
no test coverage detected