Vue.js Vue v-bind:样式不随嵌套数据更改而更新
组件的样式不会使用itemStyleMap[index]值更改进行更新:Vue.js Vue v-bind:样式不随嵌套数据更改而更新,vue.js,Vue.js,组件的样式不会使用itemStyleMap[index]值更改进行更新: <view class="item" v-for="(item, index) in itemList" :key="index" :style="itemStyleMap[index]" /> 可以在此处找到更简单的演示: 有没有其他更好的方法来控制像这样的样式集的内部数量?我不知道你的项目出了什么问题,但我做了
<view
class="item"
v-for="(item, index) in itemList"
:key="index"
:style="itemStyleMap[index]"
/>
可以在此处找到更简单的演示:
有没有其他更好的方法来控制像这样的样式集的内部数量?我不知道你的项目出了什么问题,但我做了类似的事情,效果很好。 看看这个
{{item}}
var vm=新的Vue({
el:“应用程序”,
数据(){
返回{
项目列表:[0,1,2],
itemStyleMap:[{
背景:“紫色”,
显示:“块”,
zIndex:“未设置”,
转换:“取消设置”,
转换来源:“未设置”,
},
{
背景:“红色”,
显示:“块”,
zIndex:“未设置”,
转换:“取消设置”,
转换来源:“未设置”,
},
{
背景:“棕色”,
显示:“块”,
zIndex:“未设置”,
转换:“取消设置”,
转换来源:“未设置”,
},
],
};
},
})
也许你需要更多地了解反应性。因此,您可以在此处阅读:
我不知道你的项目出了什么问题,但我做了类似的事情,效果很好。 看看这个
{{item}}
var vm=新的Vue({
el:“应用程序”,
数据(){
返回{
项目列表:[0,1,2],
itemStyleMap:[{
背景:“紫色”,
显示:“块”,
zIndex:“未设置”,
转换:“取消设置”,
转换来源:“未设置”,
},
{
背景:“红色”,
显示:“块”,
zIndex:“未设置”,
转换:“取消设置”,
转换来源:“未设置”,
},
{
背景:“棕色”,
显示:“块”,
zIndex:“未设置”,
转换:“取消设置”,
转换来源:“未设置”,
},
],
};
},
})
也许你需要更多地了解反应性。因此,您可以在此处阅读:
数据中的应该是一个函数
el: "#app",
data(){
return {
spanStyle: {
t:{
fontSize: "36px",
color: 'yellow',
border: null
}
}
}
},
methods: {
changeColors() {
this.spanStyle.color = (this.spanStyle.t.color == 'red') ? 'blue' : 'red';
this.spanStyl.border = (this.spanStyle.t.border == '3px solid blue') ? '3px solid red' : '3px solid blue';
}
}
});
另外,您在changeColors方法中遗漏了.tthis.spanStyle.color
应该是this.spanStyle.t.color
和this.spanStyl.border
应该是this.spanStyl.t.border
在您的数据中应该是一个函数
el: "#app",
data(){
return {
spanStyle: {
t:{
fontSize: "36px",
color: 'yellow',
border: null
}
}
}
},
methods: {
changeColors() {
this.spanStyle.color = (this.spanStyle.t.color == 'red') ? 'blue' : 'red';
this.spanStyl.border = (this.spanStyle.t.border == '3px solid blue') ? '3px solid red' : '3px solid blue';
}
}
});
另外,您在changeColors方法中遗漏了.t
this.spanStyle.color
应该是this.spanStyle.t.color
和this.spanStyl.border
应该是this.spanStyl.t.border你的小提琴将this.spanStyle.colot
更改为this.spanStyle.t.color
,或者尝试将你的小提琴更改为this.spanStyle.colot
此.spanStyle.t.color
或尝试此
el: "#app",
data(){
return {
spanStyle: {
t:{
fontSize: "36px",
color: 'yellow',
border: null
}
}
}
},
methods: {
changeColors() {
this.spanStyle.color = (this.spanStyle.t.color == 'red') ? 'blue' : 'red';
this.spanStyl.border = (this.spanStyle.t.border == '3px solid blue') ? '3px solid red' : '3px solid blue';
}
}
});