반응형
vue.js 2의 입력 유형 텍스트에 연산자 3진수를 추가하려면 어떻게 해야 합니까?
내 vue 컴포넌트는 다음과 같습니다.
<template>
<div>
...
<li v-for="category in categories">
...
<input type="radio" class="category-radio" :value="category.id" (category.id == categoryId) ? 'checked data-waschecked=true' : ''>
...
</li>
...
</div>
</template>
<script>
export default {
props: ['categories', 'categoryId'],
}
</script>
입력 유형 텍스트에 조건을 추가하고 싶습니다.위 코드와 같은 연산자 3진법을 사용한다.
코드가 실행되면 동작하지 않습니다.
에러는 없습니다.그래서 나는 그것을 해결하기 혼란스럽다.
내 코드가 아직 틀렸나 봐
어떻게 하면 해결할 수 있을까요?
문제는 일반 HTML에서 JavaScript 식을 사용하려고 한다는 것입니다. 이 방법은 작동하지 않습니다.
다음과 같이 각 속성을 수동으로 바인드할 수 있습니다.
:checked="(expression) ? true : false"
또는 표현식에 따라 계산된 속성에 바인딩하여 계산된 속성을 반환합니다.또는 오브젝트를 1에서 여러 속성으로 바인드하고 오브젝트 전체를 한 번에 바인드할 수도 있습니다(이것도 가능합니다).
new Vue({
el: '#app',
data: {
categories: [
{ id: 1, name: 'one' },
{ id: 2, name: 'two' },
{ id: 3, name: 'three' }
],
selectedId: 2 // for simplicity
},
computed: {
attrs: function() {
return function(id) { // computed can also return a function, so you can use args
return (id === this.selectedId) ? { checked: true, 'data-waschecked': true } : {}
}
}
},
mounted() { // log your element
console.log(document.querySelector('input[data-waschecked=true]'))
}
});
<script src="https://unpkg.com/vue/dist/vue.js"></script>
<div id="app">
<ul>
<li v-for="category in categories">
<input type="checkbox" v-bind="attrs(category.id)">
</li>
</ul>
</div>
언급URL : https://stackoverflow.com/questions/45136453/how-can-i-add-operator-ternary-in-input-type-text-on-vue-js-2
반응형
'sourcecode' 카테고리의 다른 글
vue의 콜백에서 로컬 컴포넌트 변수에 액세스하는 방법 (0) | 2022.08.13 |
---|---|
b-table 구성 요소의 모든 열에 대해 정렬을 활성화할 수 있습니까? (0) | 2022.08.13 |
Vue 인라인 템플릿이 메서드 또는 데이터를 찾을 수 없음 (0) | 2022.08.13 |
NDK 응용 프로그램에서 "인쇄" 메시지를 작성하려면 어떻게 해야 합니까? (0) | 2022.08.12 |
Vue.js의 컴포넌트 라이프 사이클 메서드에서 믹스인 메서드 내 기능에 액세스하는 방법 (0) | 2022.08.12 |