Google-diff-match-patch'i açısal olarak kullanma
Aug 25 2020
google diff/match/patch libİki metin arasındaki farkı göstermek için açısal bir uygulamada kullanmak istiyorum .
Kullanımım şöyle bir şey olurdu:
public ContentHtml: SafeHtml;
compare(text1: string, text2: string):void {
var dmp = new diff_match_patch();
dmp.Diff_Timeout = 1;
dmp.Diff_EditCost = 4;
var d = dmp.diff_main(text1, text2);
dmp.diff_cleanupSemantic(d);
var ds = dmp.diff_prettyHtml(d);
this.ContentHtml = this._sanitizer.bypassSecurityTrustHtml(ds);
}
Sorun şu ki, diff_match_patchbu hat için nasıl içe aktarırım ?
var dmp = new diff_match_patch();
Yanıtlar
1 ShashankVivek Aug 25 2020 at 13:02
Açısal proje için npm paketini içe aktarmanız gerekir package.json.
"diff-match-patch": "^1.0.5",
ve bileşene şu şekilde içe aktar:
import { Component } from '@angular/core';
import DiffMatchPatch from 'diff-match-patch';
@Component({
selector: 'my-app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
name = 'Angular';
getDiff() {
var dmp = new DiffMatchPatch();
var diff = dmp.diff_main('Hello', 'Hallo');
// Result: [(-1, "Hell"), (1, "G"), (0, "o"), (1, "odbye"), (0, " World.")]
dmp.diff_cleanupSemantic(diff);
// Result: [(-1, "Hello"), (1, "Goodbye"), (0, " World.")]
console.log(diff);
}
}
İşte bir demo kodu
Donovan, Şarkılarından 1'ini The Beatles'ın "Lucy in the Sky with Diamonds" şarkısıyla karşılaştırdı
Charly Reynolds Yakın Zamandaki Vokal Kord Ameliyatını Açıkladı: 'Şarkı Söylemekte Sorun Yaşıyordum'