37 lines
		
	
	
		
			841 B
		
	
	
	
		
			Vue
		
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			841 B
		
	
	
	
		
			Vue
		
	
	
<template>
 | 
						|
  <view
 | 
						|
    :style="[
 | 
						|
      {
 | 
						|
        marginLeft: styles.marginLeft + 'px',
 | 
						|
        marginRight: styles.marginRight + 'px',
 | 
						|
        marginBottom: styles.marginBottom + 'px',
 | 
						|
        marginTop: styles.marginTop + 'px',
 | 
						|
        padding: styles.padding + 'px',
 | 
						|
      },
 | 
						|
    ]"
 | 
						|
  >
 | 
						|
    <mp-html class="richtext" :content="state.content"></mp-html>
 | 
						|
  </view>
 | 
						|
</template>
 | 
						|
<script setup>
 | 
						|
  import { reactive, onMounted } from 'vue';
 | 
						|
  import ArticleApi from '@/sheep/api/promotion/article';
 | 
						|
  const props = defineProps({
 | 
						|
    data: {
 | 
						|
      type: Object,
 | 
						|
      default: {},
 | 
						|
    },
 | 
						|
    styles: {
 | 
						|
      type: Object,
 | 
						|
      default() {},
 | 
						|
    },
 | 
						|
  });
 | 
						|
  const state = reactive({
 | 
						|
    content: '',
 | 
						|
  });
 | 
						|
  onMounted(async () => {
 | 
						|
    const { data } = await ArticleApi.getArticle(props.data.id);
 | 
						|
    state.content = data.content;
 | 
						|
  });
 | 
						|
</script>
 |