반응형
Vue에서는 각종 엘리먼트에 바인딩이 가능하다.
즉, Vue에서 쓰이는 데이터들을 엘리먼트에 삽입이 가능하다는 것인데 style을 예제로 이용해보려 한다.
<div id="button-box">
<button class="btn-round" @click="select()">
<img src=""/><br>
</button>
</div>
위와같이 div에는 이미 button-box라는 css가 적용되어있다.
하지만 필자는 각종 device에 서로다른 margin-left를 주기 위해 스타일을 바인딩하려한다.
data () {
return {
deviceWidth: 0,
deviceML: 0
}
},
data부분에 두 변수를 선언하고
created() {
this.deviceWidth = Math.max(window.screen.width, window.innerWidth)
this.deviceML = (this.deviceWidth-240)/4
},
created 부분에 내가 원하는 device에 따라 margin left를 어떻게 줄 지 deviceML에 선언한다.
<div id="button-box" :style=" { marginLeft: deviceML + 'px'}">
<button class="btn-round" @click="select()">
<img src=""/><br>
</button>
</div>
이제 :style를 통해 스타일을 바인딩하자.
이때 margin-left라 적으면 안되고 카멜형식으로 marginLeft라고 적어야함은 기억해두자.
반응형
'Basic > VueJS' 카테고리의 다른 글
태그 바인딩 에러로 인한 대처법 (0) | 2018.09.25 |
---|---|
vue에서 id를 이용한 바인딩 (0) | 2018.09.03 |
[VueJS] CSS와 Vue를 이용한 연습 프로그래밍 (0) | 2018.08.13 |
[VueJS] vuex 이용 예제 (0) | 2018.08.11 |
[VueJS] 사용자 이벤트 (0) | 2018.08.09 |