angular中怎麼使用monaco-editor?以下這篇文章記錄下最近的一次業(yè)務(wù)中用到的 m??onaco-editor 在 angular 中的使用,希望對(duì)大家有幫助!
安裝依賴
#在angular12 及之前你可以選擇
- monaco-editor
- ngx-monaco-editor
這是沒(méi)有問(wèn)題的但是如果你使用了更高版本的angular 在使用npm 安裝ngx-monaco-editor 時(shí)會(huì)報(bào)錯(cuò)誤。 【相關(guān)教學(xué)推薦:《angularjs影片教學(xué)》】
因?yàn)樵髡咚坪跻呀?jīng)停止了對(duì)這個(gè)函式庫(kù)的維護(hù)最終的支援停留在了angular12 版本
#當(dāng)然你選擇可以選擇正如提示那樣用--force 或--legacy-peer-deps 來(lái)解決問(wèn)題
但是為了消除/避免隱藏的一些問(wèn)題我在原作者的基礎(chǔ)上將框架的angular 支援提升到了14 並且會(huì)一直更新
#@rickzhou/ngx-monaco-editor
github github.com/rick-chou/n…
#當(dāng)然你也可以選擇將作者的源代碼移入自己的本地代碼中這也是完全沒(méi)有問(wèn)題的
- base-editor.ts 引入monaco-editor
- config.ts
- diff-editor.component.ts
- editor.component.ts
- editor.module.ts
- types.ts
你只需要移動(dòng)lib 目錄下的六個(gè)檔案然後把它們當(dāng)成自己專案中的一個(gè)module 去使用就好了
#使用
其實(shí)所有的api 都可以在editor.api.d.ts
這個(gè)檔案中找到
// 在這個(gè)editor下就可以找到所有TS類型 import { editor } from 'monaco-editor';
下面記錄一下常用的
#1、設(shè)定
// eg export const READ_EDITOR_OPTIONS: editor.IEditorOptions = { readOnly: true, automaticLayout: false, minimap: { enabled: false, }, renderFinalNewline: false, scrollbar: { vertical: 'visible', }, mouseWheelZoom: true, contextmenu: false, fontSize: 16, scrollBeyondLastLine: false, smoothScrolling: true, cursorWidth: 0, renderValidationDecorations: 'off', colorDecorators: false, hideCursorInOverviewRuler: true, overviewRulerLanes: 0, overviewRulerBorder: false, };
2、取得editor實(shí)例
<ngx-monaco-editor [options]="readEditorOptions" [(ngModel)]="originLogVal" (onInit)="initViewEditor($event, false)"> </ngx-monaco-editor> public initViewEditor(editor: editor.ICodeEditor): void { // 這個(gè)editor就是實(shí)例 // 下面方法中的editor就是這里的editor this.editor = editor }
3、取得目前遊標(biāo)位置
editor.getPosition()
4、取得目前滑鼠選取的文字
editor.getModel().getValueInRange(editor.getSelection());
5、修改遊標(biāo)位置
editor.setPosition({ column: 1, lineNumber: 1, });
6 、捲動(dòng)指定行到視覺(jué)區(qū)中間
editor.revealLineInCenter(1);
7、綁定事件
editor.onMouseDown(event => { // do something }); editor.onKeyDown(event => { // do something });
8、儲(chǔ)存/還原快照
const snapshot = editor.saveViewState(); editor.restoreViewState(snapshot);
9、封鎖某個(gè)事件
// eg 組件默認(rèn)的搜索快捷鍵 function isMac() { return /macintosh|mac os x/i.test(navigator.userAgent); } editor.onKeyDown(event => { if ( (isMac() && event.browserEvent.key === 'f' && event.metaKey) || (!isMac() && event.browserEvent.key === 'f' && event.ctrlKey) ) { event.preventDefault(); event.stopPropagation(); } });
更多程式相關(guān)知識(shí),請(qǐng)?jiān)煸L:程式設(shè)計(jì)影片! !
以上是淺析angular中怎麼使用monaco-editor的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺(jué)化網(wǎng)頁(yè)開發(fā)工具

SublimeText3 Mac版
神級(jí)程式碼編輯軟體(SublimeText3)

Angular.js是一種可自由存取的JavaScript平臺(tái),用於建立動(dòng)態(tài)應(yīng)用程式。它允許您透過(guò)擴(kuò)展HTML的語(yǔ)法作為模板語(yǔ)言,以快速、清晰地表示應(yīng)用程式的各個(gè)方面。 Angular.js提供了一系列工具,可協(xié)助您編寫、更新和測(cè)試程式碼。此外,它還提供了許多功能,如路由和表單管理。本指南將討論在Ubuntu24上安裝Angular的方法。首先,您需要安裝Node.js。 Node.js是一個(gè)基於ChromeV8引擎的JavaScript運(yùn)行環(huán)境,可讓您在伺服器端執(zhí)行JavaScript程式碼。要在Ub

angular中怎麼使用monaco-editor?以下這篇文章記錄下最近的一次業(yè)務(wù)中用到的 m??onaco-editor 在 angular 中的使用,希望對(duì)大家有幫助!

隨著網(wǎng)路的快速發(fā)展,前端開發(fā)技術(shù)也不斷改進(jìn)與迭代。 PHP和Angular是兩種廣泛應(yīng)用於前端開發(fā)的技術(shù)。 PHP是一種伺服器端腳本語(yǔ)言,可以處理表單、產(chǎn)生動(dòng)態(tài)頁(yè)面和管理存取權(quán)限等任務(wù)。而Angular是一種JavaScript的框架,可以用來(lái)開發(fā)單一頁(yè)面應(yīng)用程式和建構(gòu)元件化的網(wǎng)頁(yè)應(yīng)用程式。本篇文章將介紹如何使用PHP和Angular進(jìn)行前端開發(fā),以及如何將它們

這篇文章繼續(xù)Angular的學(xué)習(xí),帶大家了解Angular中的元數(shù)據(jù)和裝飾器,簡(jiǎn)單了解一下他們的用法,希望對(duì)大家有幫助!

這篇文章帶大家深入了解angular的狀態(tài)管理器NgRx,介紹一下NgRx的使用方法,希望對(duì)大家有幫助!

你知道 Angular Universal 嗎?可以幫助網(wǎng)站提供更好的 SEO 支援哦!

這篇文章跟大家分享一個(gè)Angular實(shí)戰(zhàn),了解一下angualr 結(jié)合 ng-zorro 如何快速開發(fā)一個(gè)後臺(tái)系統(tǒng),希望對(duì)大家有幫助!

身份驗(yàn)證是任何網(wǎng)路應(yīng)用程式中最重要的部分之一。本教程討論基於令牌的身份驗(yàn)證系統(tǒng)以及它們與傳統(tǒng)登入系統(tǒng)的差異。在本教程結(jié)束時(shí),您將看到一個(gè)用Angular和Node.js編寫的完整工作演示。傳統(tǒng)身份驗(yàn)證系統(tǒng)在繼續(xù)基於令牌的身份驗(yàn)證系統(tǒng)之前,讓我們先來(lái)看看傳統(tǒng)的身份驗(yàn)證系統(tǒng)。使用者在登入表單中提供使用者名稱和密碼,然後點(diǎn)擊登入。發(fā)出請(qǐng)求後,透過(guò)查詢資料庫(kù)在後端驗(yàn)證使用者。如果請(qǐng)求有效,則使用從資料庫(kù)中獲取的使用者資訊建立會(huì)話,然後在回應(yīng)頭中傳回會(huì)話訊息,以便將會(huì)話ID儲(chǔ)存在瀏覽器中。提供用於存取應(yīng)用程式中受
