반응형
Vue js 어레이로 문자열을 분할하고 목록 렌더러에서 사용하는 방법
리스트의 행을 나누어 이와 같은 다른 리스트 문장에 그 결과를 사용하고 싶다. 나는 사실 이 타입의 Vue 리스트 렌더러의 구문이 틀리다는 것을 알고 있지만, 나는 당신에게 내가 필요한 것을 보여주고 싶다!
var app = new Vue({
el : "#app",
data : {
list : [
{
'name' : 'aaa',
'codes' : '111+222+333'
},
{
'name' : 'bbb',
'codes' : '432+456+678'
}
]
}
})
<div id="app">
<div v-for="row in list">
<p>{{ row.name }}</p>
<div v-for="code in (row.codes.split('+'))">
<p>{{ code }}</p>
<div>
</div>
</div>
업데이트: 위의 코드가 올바르고 이와 같은 필터를 사용할 때 문제가 발생했는데 잘못된 경우:
v-for="code in (row.codes | split('+'))"
여기 내 해결책이 있다!
<div id="app">
<div v-for="row in splitedList">
<p>{{ row.name }}</p>
<div v-for="code in row.codes">
<p>{{ code }}</p>
</div>
</div>
</div>
new Vue({
el: "#app",
data: {
list : [
{
'name' : 'aaa',
'codes' : '111+222+333'
},
{
'name' : 'bbb',
'codes' : '432+456+678'
}
]
},
computed: {
splitedList(){
let newArr = [...this.list]
newArr.map(el => {
return el.codes = el.codes.split('+')
})
return newArr
}
}
})
v-for="code in row.codes.split('+')"
나는 기능적으로 방법을 사용한다...
<div id="app">
<div v-for="row in list">
<p>{{ row.name }}</p>
<div v-for="code in splitedList(row.codes)">
<p>{{ code }}</p>
</div>
</div>
</div>
new Vue({
el: "#app",
data: {
list : [
{
'name' : 'aaa',
'codes' : '111+222+333'
},
{
'name' : 'bbb',
'codes' : '432+456+678'
}
]
},
computed: {
},
methods: {
splitedList(row){
return (row !== null)?row.split('+'):'';
}
}
})
반응형
'programing' 카테고리의 다른 글
Java에서 null 문자열을 연결 중 (0) | 2022.04.25 |
---|---|
JAXB를 사용하여 XML 문자열에서 개체 생성 (0) | 2022.04.25 |
일반 클래스의 정적 메서드? (0) | 2022.04.24 |
Vue: 버튼 클릭 시 .focus()를 호출하는 방법 (0) | 2022.04.24 |
Mocha 및 Chai를 사용하여 Vuex 모듈을 테스트하는 방법 (0) | 2022.04.24 |