-
글쓴이글
-
2021년 7월 29일 16:38 #12310
이병현참가자몇번이고 확인해 보았는데 필터 적용이 안되는 이유를 발견하지 못해서 글 작성합니다.
현재상황: 필터를 적용한게 발행전까지 적용이 잘 됩니다. 그리고 발행했을 때 step 0에서 사진이 필터 적용이 안되고 기본으로 뜹니다.
app.vue 부분 어느 부분이 잘 못되었는지 확인한번 부탁드립니다.
<template>
<div>
<div class="header">
<ul class="header-button-left">
<li>Cancel</li>
</ul>
<ul class="header-button-right">
<li v-if="step == 1" @click="step++">Next</li>
<li v-if="step == 2" @click="publish">발행</li>
</ul>
<img src="./assets/logo.png">
</div><Container @write="작성한글 = $event" :이미지="이미지" :step="step" :게시물="게시물" />
<button @click="more">더보기</button><div class="footer">
<ul class="footer-button-plus">
<input @change="upload" type="file" id="file" class="inputfile" />
<label for="file" class="input-plus">+</label>
</ul>
</div></div>
</template><script>
import Container from './components/Container.vue';
import postdata from './assets/postdata';
import axios from 'axios';export default {
name: "App",
data(){
return {
step : 0,
게시물 : postdata,
더보기 : 0,
이미지 : '',
작성한글: '',
선택한필터 : ''
}
},
mounted(){
this.emitter.on('박스클릭함', (a)=>{
this.선택한필터 = a
})
},
components: {
Container,
},
methods: {
publish(){
var 내게시물 = {
name: "Kim Hyun",
userImage: "https://placeimg.com/100/100/arch",
postImage: this.이미지,
likes: 36,
date: "May 15",
liked: false,
content: this.작성한글,
filter: this.선택한필터
};
this.게시물.unshift(내게시물);
this.step = 0;
},
more(){
axios.get('https://codingapple1.github.io/vue/more${this.더보기}.json')
.then( 결과 => {
console.log(결과.data);
this.게시물.push(결과.data);
this.더보기++;
})
},
upload(e){
let 파일 = e.target.files;
console.log(파일[0]);
let url = URL.createObjectURL(파일[0]);
console.log(url);
this.이미지 = url
this.step++;
}
},
};2021년 7월 29일 17:40 #12319
codingapple키 마스터메인페이지에 있는 게시물들은 <Post> 컴포넌트 안에 있지 않겠습니까
거기 있는 사진에 필터명을 클래스명으로 씌웠는지 확인해야할듯요
2021년 7월 30일 10:52 #12355
이병현참가자콘테이너 코드입니다.
<template>
<div><div v-if="step == 0">
<Post :선택한필터="선택한필터" :게시물="게시물[i]" v-for="(a,i) in 게시물 " :key="i" />
</div><!-- 필터선택페이지 -->
<div v-if="step == 1">
<div :class="선택한필터" class="upload-image" :style="'background-image:url(${이미지})'"></div>
<div class="filters">
<FilterBox :필터="필터" v-for="필터 in 필터들" :key="필터" :이미지="이미지">
<span>{{필터}}</span>
</FilterBox>
</div>
</div><!-- 글작성페이지 -->
<div v-if="step == 2">
<div :class="선택한필터" class="upload-image" :style="'background-image:url(${이미지})'"></div>
<div class="write">
<textarea @input="$emit('write', $event.target.value)" class="write-box">write!</textarea>
</div>
</div></div>
</template>2021년 7월 30일 10:52 #12356
이병현참가자Post 코드입니다.
<template>
<div class="post">
<div class="post-header">
<div class="profile"></div>
<span class="profile-name">{{게시물.name}}</span>
</div>
<div class="post-body" :style="{ backgroundImage : 'url(${게시물.postImage})' }" ></div>
<div class="post-content">
<p>{{게시물.Likes}} Likes</p>
<p><strong>{{게시물.name}}</strong> {{게시물.content}}</p>
<p class="date">May 15</p>
</div>
</div>
</template>2021년 7월 30일 12:21 #12360
codingapple키 마스터<div class="post-body" 이게 게시물의 메인 사진일텐데
여기에 class 명으로 선택한 필터명을 기입해주면 인스타그램 필터가 씌워집니다
수업시간에 안보여드린 내용이라 직접 코드를 짜보도록 합시다
-
글쓴이글
- 답변은 로그인 후 가능합니다.