Properties VueJS int Props更改前缀0上的值

Properties VueJS int Props更改前缀0上的值,properties,integer,vue.js,vuejs2,Properties,Integer,Vue.js,Vuejs2,我试图通过一个int值作为道具 因此,如果我打电话: <job-cards-create :jobno="1203"></job-cards-create> 我得到: 但如果我在前面添加一个“0”: <job-cards-create :jobno="01203"></job-cards-create> 它给出: 发生了什么事?我遗漏了什么吗?你真的需要它成为一个数字吗?看起来你不会对它进行任何计算。只需去掉v-bind,使用字符串

我试图通过一个int值作为道具

因此,如果我打电话:

<job-cards-create :jobno="1203"></job-cards-create>

我得到:

但如果我在前面添加一个“0”:

<job-cards-create :jobno="01203"></job-cards-create>

它给出:


发生了什么事?我遗漏了什么吗?

你真的需要它成为一个数字吗?看起来你不会对它进行任何计算。只需去掉
v-bind
,使用字符串文字即可:

<job-cards-create jobno="01203"></job-cards-create>

这是因为由于前导零,您的号码
01203
被解释为八进制数。查看以下示例:

01203==643//true

01203.toString()/“643”


我想这与Vue无关。这是本机JS行为:在控制台中键入parseInt(01203,10)->结果将是643。为什么-我不知道,希望看到有人在这里回答。您是像问题中那样硬编码值还是它来自某个地方?@wostex这种行为是因为parseInt需要一个字符串:
parseInt('01203',10)->1203
。您的值被强制转换为八进制值:
01203.toString()->“643”
@AJGregory,为什么parseInt('01203',8)=419?它不是也应该是643吗?@wostex当我尝试
parseInt(“01203”,8)
时,我确实得到了643。可能您尝试了
parseInt(01203,8)
,它与
parseInt(“643”,8)
相同,并返回419。