Nuxt.js v4中使用quill富文本组件

第一步:安装

使用包管理器 npmyarn来安装 VueQuill

/* by yours.tools - online tools website : yours.tools/zh/json.html */
npm install @vueup/vue-quill@latest --save
# 或者
yarn add @vueup/vue-quill@latest

第二步:完成配置

(1)打开nuxt.js的nuxt.config.ts配置文件,添加如下配置:

/* by yours.tools - online tools website : yours.tools/zh/json.html */
export default defineNuxtConfig({
  css: [
    // quill富文本
    'quill/dist/quill.snow.css',
    'quill/dist/quill.bubble.css',
    'quill/dist/quill.core.css',
  ],
  plugins: [
    // quill富文本
    {
      src: '~/plugins/nuxt-quill-plugin.js',
      ssr: false //仅在客户端渲染
    },
  ]
})

如下图所示:
图片
(2)在nuxt.js的app目录下新建plugins文件夹,在该文件夹下新建nuxt-quill-plugin.js文件,nuxt-quill-plugin.js文件内容如下:

import Vue from "vue";
let VueQuillEditor;
if (process.browser) {
  VueQuillEditor = require("vue-quill-editor/dist/ssr");
}

Vue.use(VueQuillEditor);

注意:编译器可能会报警告: WARN Plugin E:/xxxxx/app/plugins/nuxt-quill-plugin.js has no default export and will be ignored at build time. Add export default defineNuxtPlugin(() => {}) to your plugin. ,建议无视它。

第三步:封装MyEditor.vue富文本组件

在在nuxt.js的app目录下的components文件夹中新建MyEditor.vue文件,文件内容如下:

<template>
    <div>
        <client-only>
            <QuillEditor theme="snow" :options="options" :content="content" contentType="html" />
        </client-only>
    </div>
</template>

<script setup>
import { ref } from 'vue'
import { QuillEditor } from '@vueup/vue-quill';
const props = defineProps({
    content: {
        type: String,
        default: ""
    }
})


const options = {
    readOnly: false,
    placeholder: '请输入内容',
    theme: 'snow',
    modules: {
        toolbar: [
            ['bold', 'italic', 'underline', 'strike'],        // 切换按钮
            ['blockquote', 'code-block'],
            [{ 'header': 1 }, { 'header': 2 }],               // 标题自定义按钮值
            [{ 'list': 'ordered' }, { 'list': 'bullet' }],   // 列表
            [{ 'script': 'sub' }, { 'script': 'super' }],      // 上标或下标
            [{ 'indent': '-1' }, { 'indent': '+1' }],          // 减少缩进/缩进
            [{ 'direction': 'rtl' }],                         // 文本方向
        ]
    }
}

</script>

<style lang="scss" scoped></style>

注意:一定要用nuxt.js的<client-only>包裹<QuillEditor>

第四步:引用组件

如下代码所示:

<template>
  <div>
 	<MyEditor :content="content" />
  </div>
</template>
<script setup>
import { ref } from 'vue';
const content = ref("<h2>这是文本标题内容</h2>")
</script>

<style scoped>

</style>

至此,就完成了

时间仓促,如有错误欢迎指出,欢迎在评论区讨论,如对您有帮助还请点个推荐、关注支持一下

作者:莫颀

出处:https://www.cnblogs.com/bokemoqi/p/19306326

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。

若内容有侵犯您权益的地方,请公告栏处联系本人,本人定积极配合处理解决。

内容概要:本文围绕六自由度机械臂的人工神经网络(ANN)设计展开,重点研究了正向与逆向运动学求解、正向动力学控制以及基于拉格朗日-欧拉法推导逆向动力学方程,并通过Matlab代码实现相关算法。文章结合理论推导与仿真实践,利用人工神经网络对复杂的非线性关系进行建模与逼近,提升机械臂运动控制的精度与效率。同时涵盖了路径规划中的RRT算法与B样条优化方法,形成从运动学到动力学再到轨迹优化的完整技术链条。; 适合人群:具备一定机器人学、自动控制理论基础,熟悉Matlab编程,从事智能控制、机器人控制、运动学六自由度机械臂ANN人工神经网络设计:正向逆向运动学求解、正向动力学控制、拉格朗日-欧拉法推导逆向动力学方程(Matlab代码实现)建模等相关方向的研究生、科研人员及工程技术人员。; 使用场景及目标:①掌握机械臂正/逆运动学的数学建模与ANN求解方法;②理解拉格朗日-欧拉法在动力学建模中的应用;③实现基于神经网络的动力学补偿与高精度轨迹跟踪控制;④结合RRT与B样条完成平滑路径规划与优化。; 阅读建议:建议读者结合Matlab代码动手实践,先从运动学建模入手,逐步深入动力学分析与神经网络训练,注重理论推导与仿真实验的结合,以充分理解机械臂控制系统的设计流程与优化策略。
Nuxt.js 3中集成Strapi可以按照以下步骤进行: ### 1. 创建Strapi项目 首先需要创建一个Strapi项目,如果还没有的话。可以使用以下命令创建: ```bash npx create-strapi-app my-strapi-project --quickstart ``` 启动Strapi服务器: ```bash cd my-strapi-project npm run develop ``` ### 2. 创建Nuxt.js 3项目 使用以下命令创建一个新的Nuxt.js 3项目: ```bash npx nuxi init my-nuxt-app cd my-nuxt-app npm install ``` ### 3. 安装axios 为了能够从Nuxt.js 3项目中向Strapi API发送HTTP请求,需要安装`axios`: ```bash npm install axios ``` ### 4. 配置Strapi API请求 在Nuxt.js 3项目中,可以在`plugins`目录下创建一个新的插件来配置`axios`,以便更方便地向Strapi API发送请求。例如,创建一个`strapi.js`文件: ```javascript // plugins/strapi.js import axios from 'axios' const strapi = axios.create({ baseURL: 'http://localhost:1337/api', // Strapi API的基础URL headers: { 'Content-Type': 'application/json' } }) export default defineNuxtPlugin(() => { return { provide: { strapi } } }) ``` 然后在`nuxt.config.ts`中引入该插件: ```typescript // nuxt.config.ts export default defineNuxtConfig({ plugins: [ { src: '~/plugins/strapi.js' } ] }) ``` ### 5. 从Strapi获取数据 在Nuxt.js 3的页面或组件中,可以使用注入的`strapi`实例来获取Strapi的数据。例如,在一个页面组件中获取文章列表: ```vue <template> <div> <h1>Articles</h1> <ul> <li v-for="article in articles" :key="article.id">{{ article.attributes.title }}</li> </ul> </div> </template> <script setup> const { $strapi } = useNuxtApp() const { data: articles } = await $strapi.get('/articles') </script> ``` ### 6. 处理身份验证(可选) 如果Strapi API需要身份验证,可以在`axios`实例中添加身份验证头。例如,使用JWT令牌: ```javascript // plugins/strapi.js import axios from 'axios' const strapi = axios.create({ baseURL: 'http://localhost:1337/api', headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer YOUR_JWT_TOKEN` } }) export default defineNuxtPlugin(() => { return { provide: { strapi } } }) ``` ### 7. 部署 在部署时,需要确保Strapi和Nuxt.js 3项目都部署到合适的环境中,并且更新`baseURL`以指向生产环境的Strapi API地址。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值