name: 'UIindex',
// components: { MessageItem },
setup() {
- const anime = inject('animejs');
- const timeline = anime.timeline({ loop: true });
- const renderArr = ref([]);
+
+ const anime: object | any = inject('animejs');
+ const timeline: typeof anime = anime.timeline({ loop: true });
+ const renderArr: Message[] = [];
const messages = Messages;
const messageOffset = {
x: null,
}
const renderMsg = (i: number) => {
setTimeout(() => {
- renderArr.value.push(messages[i]);
+ renderArr.push(messages[i]);
}, 2000);
}
const runAnim = () => {
- this.messages = Messages;
- for (let i = 0; i < this.messages.length; i++) {
+ for (let i = 0; i < messages.length; i++) {
renderMsg(i);
}
}
onMounted(() => {
- // runAnim();
- console.log(messages);
+ runAnim();
});
return {
- timeline,
+ // timeline,
renderArr,
messageOffset
}
import App from "./App.vue";
import router from "./router";
import store from "./store";
-
-import anime from "animejs/lib/anime.es.js";
+import anime from "animejs";
createApp(App)
.use(store)
export default component;
}
-declare module "animejs/lib/anime.es.js";
+// declare module "anime-js" {
+// import * as anime from "animejs/lib/anime.es.js";
+// function anime(): void;
+// export = anime;
+// }
+
+interface Message {
+ content: string;
+ signature: string;
+ outgoing: boolean;
+ modifier: string;
+ imgURL: string;
+ id: string;
+}