Vue.js Vue js增量运算符(+;+;)未提供预期输出
为什么下面的vue js代码显示输出102。Vue.js Vue js增量运算符(+;+;)未提供预期输出,vue.js,increment,Vue.js,Increment,为什么下面的vue js代码显示输出102。 <html> <head> <script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script> </head> <body> <div id = "intro" style = "text-align:center;">
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script>
</head>
<body>
<div id = "intro" style = "text-align:center;">
<h1>{{ ++serial }}</h1>
</div>
<script type = "text/javascript">
var app = new Vue({
el: '#intro',
data: {
serial: 0
}
});
</script>
</body>
</html>
{{++serial}}
var app=新的Vue({
el:“#简介”,
数据:{
序列号:0
}
});
我需要一个解释。我的预期输出是1。如何解决这个问题?这是一个赋值语句,在插值中是不允许的 从: 这些表达式将在所有者Vue实例的数据范围内作为JavaScript进行计算。一个限制是每个绑定只能包含一个表达式,因此以下操作不起作用:
{{var a=1}}
您的代码大致相当于:
{{serial=serial+1}
以下是如何在循环中使用它进行计算:
newvue({
el:“应用程序”,
数据(){
返回{
序列号:0
}
}
});代码>
{{i+serial}}
不允许在模板内运行更新组件属性的语句,因为这将产生无限循环,您可以使用计算属性实现所需的行为,如下所示:
var-app=新的Vue({
el:“#简介”,
数据:{
序列号:0
},
计算:{
递增序列号(){
返回++这个.serial
}
}
});代码>
{{incrementedSerial}}