htfy96 / v2ray-config-gen

V2Ray Configuration generator
Apache License 2.0
282 stars 93 forks source link

ss中的level字段是字符串而不是int 导致配置文件校验报错. #5

Closed blog-lyn closed 6 years ago

blog-lyn commented 7 years ago

使用中发现一个问题: ss中的level字段是字符串而不是int 导致配置文件校验报错.

logic.js中24行: "level": service.level 修改为: "level": parseInt(service.level,10),

还有为什么我不能pull request呢?,

htfy96 commented 7 years ago
<select v-model="service.level">
            <option value="0" number>非私用VPS,安全性更好(0)</option>
            <option value="1" number>私用VPS,性能略好(1)</option>
</select>

这里应该已经指定是number类型了。。 可能需要排查一下原因

blog-lyn commented 7 years ago

学习了下 vue.js的文档: https://cn.vuejs.org/v2/guide/forms.html#number

如果想自动将用户的输入值转为 Number 类型(如果原值的转换结果为 NaN 则返回原值),可以添加一个修饰符 number 给 v-model 来处理输入值: <input v-model.number="age" type="number"> 这通常很有用,因为在 type="number" 时 HTML 中输入的值也总是会返回字符串类型。

是不是应该这么写?

<select v-model.number="service.level" type="number">
            <option value="0"  >非私用VPS,安全性更好(0)</option>
            <option value="1"  >私用VPS,性能略好(1)</option>
</select>
htfy96 commented 7 years ago

@blog-lyn 我写的时候用的是Vue1.0, 根据http://v1-cn.vuejs.org/guide/forms.html#number:

如果想自动将用户的输入转为 Number 类型(如果原值的转换结果为 NaN 则返回原值),可以添加一个特性 number:

<input v-model="age" number>

这么写应该是可以的。估计可能是某些浏览器认为number是不合法DOM于是自动去除了,之后会把这些模板放在<template>块中渲染试试

htfy96 commented 7 years ago

https://github.com/htfy96/v2ray-config-gen/commit/45638805e749f31736a10d32e5c67c4aafa9f45c 把template抽取出来了,能帮忙再测试一下吗? @blog-lyn