iT邦幫忙

2025 iThome 鐵人賽

DAY 11
0
Vue.js

遊戲活動關卡查詢網站系列 第 11

遊戲活動關卡查詢網站Day11-資料連接(Supabase)

  • 分享至 

  • xImage
  •  

目標
在Day5做了資料的建立
在Day6、Day7做了Supabase的註冊和資料匯入介紹
這邊要開始把Supabase的資料取回來
顯示在活動一覽的組件上

步驟

src/ 建立supabase.js(命名隨意 只要能引入就好)
由於要連到supabase
所以我們需要連接API的URL與API的KEY
我們回到Supabase控制台
前往下圖的Project Setting

下圖紅框1和2分別是API的URL
與API的KEY 記下這兩個資料


supabase.js 程式架構如下

import { createClient } from "@supabase/supabase-js";

const supabaseUrl = "你的API的URL";
const supabaseKey = "你的API的Key";

export const supabase = createClient(supabaseUrl, supabaseKey);

再來回到B-Aaction組件
這邊我們要用引入Supabase取資料
script程式架構如下

<script setup>
import { ref, onMounted } from "vue";
import { supabase } from "../supabase.js";

const actionList = ref([]);

onMounted(async () => {
  const { data, error } = await supabase
    .from("action")
	.select("*")

  if (error) {
    console.error(error);
  } else {
    actionList.value = data;
  }
});
</script>

template程式架構則是

<template>
<div>B區塊
{{actionList}}
</div>
</template>

因為畫面會即時變動 我們回到畫面
但卻只看到B組件 只有空陣列的資料
那是因為Supabase在創建資料表時
讀取權限預設是關閉的 我們要另外做設定

回到Supabase
進入Database底下的Policies
我們在action這個資料表右上角按下create policy
接著依照紅框操作


按下Save後,回來畫面
我們就能看到資料成功抓取回來了

備註
這邊讀取資料的行為會被包在onMounted裡
以下依序做說明
1.指定組件載入後會做的事
2.做讀取Supabase的事
3.取Action資料表的資料
語法等同於

select * from action;


上一篇
遊戲活動關卡查詢網站Day10-切開畫面(Vue:Component)
下一篇
遊戲活動關卡查詢網站Day12-活動一覽顯示(Vue:Computed)
系列文
遊戲活動關卡查詢網站24
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言