JavaScript – Bitkorn Blog https://blog.bitkorn.de Developer Zeugz Tue, 27 Jun 2023 09:16:55 +0000 de-DE hourly 1 https://wordpress.org/?v=6.3.1 TypeScript Zeug https://blog.bitkorn.de/typescript-zeug/ Tue, 27 Jun 2023 09:16:55 +0000 https://blog.bitkorn.de/?p=1234 Sie heißen Indexsignatur und ich verwende sie für Assoc Arrays aus PHP.

export class Assoc {
  [index: string]: string;
}

www.typescriptlang.org/docs/handbook/2/objects.html#index-signatures

]]>
error NG8001: ‚ion-xyz‘ is not a known element https://blog.bitkorn.de/error-ng8001-ion-xyz-is-not-a-known-element/ Fri, 12 May 2023 10:42:44 +0000 https://blog.bitkorn.de/?p=1229 Mark Directory as => Cancel Exclusion Jetzt funktioniert die […]]]> Mit der IntelliJ (WebStorm, PhpStorm) kann man Ordner als „excluded“ markieren. Das hat auch Einfluss auf die Kompilierung der Ionic/angular/TypeScript App.

Wenn der Ordner „node_modules“ als „excluded“ gekennzeichnet ist, wird bei der Kompilierung nichts aus diesem Ordner gefunden.

Also, rechte Maus auf den Ordner und => Mark Directory as => Cancel Exclusion
Jetzt funktioniert die Kompilierung und auch im Code wird nicht gemeckert, dass was fehlt.

]]>
Angular wrapped in Cordova https://blog.bitkorn.de/angular-wrapped-in-cordova/ Sun, 29 Aug 2021 08:37:07 +0000 https://blog.bitkorn.de/?p=1043 Zuerst ein Cordova App Build bauen wie in Get Started Fast beschrieben.

Den Content aus dem Build von Angular in den www-Ordner vom Cordova Build kopieren.

In der index.html des Angular Projekts eine kleine Änderung:

<!-- from -->
<base href="/">
<!-- to -->
<base href="./">
]]>
TSLint Zeug https://blog.bitkorn.de/tslint-zeug/ Tue, 30 Mar 2021 05:10:00 +0000 https://blog.bitkorn.de/?p=930 SnakeCase in Variablen Namen zulassen (Rule: variable-name):

{
    "rules": {
        "variable-name": {
            "options": [
                "ban-keywords",
                "check-format",
                "allow-pascal-case",
                "allow-snake-case"
            ]
        }
    }
}
]]>
Angular Map in ngModel https://blog.bitkorn.de/angular-map-in-ngmodel/ Thu, 03 Dec 2020 11:26:27 +0000 http://blog.bitkorn.de/?p=872 so nicht:

<input [(ngModel)]="myMap.get(id)">

…aber so:

<input [ngModel]="myMap.get(id)" (ngModelChange)="myMap.set(id, $event)">

Danke an stackoverflow.

]]>
Angular Template driven forms https://blog.bitkorn.de/angular-template-driven-forms/ Tue, 10 Mar 2020 11:30:28 +0000 http://blog.bitkorn.de/?p=738 Select-Option Dropdown

quantityUnits: key=uuid; value=was zu Anzeigen)
purchaseOrderListItem: das Objekt welches mit der Form angezeigt/bearbeitet werden soll

<div class="">
  <label for="quantityunit_uuid" class="label-tec">Mengeneinheit</label>
  <select id="quantityunit_uuid" name="quantityunit_uuid" class="w3-select" [(ngModel)]="purchaseOrderListItem.quantityunit_uuid">
    <option *ngFor="let quantityUnit of quantityUnits | keyvalue" [value]="quantityUnit.key">{{quantityUnit.value}}</option>
  </select>
</div>

Ein Input mit i10n:

<div class="">
  <label for="purchase_order_list_price" class="label-tec">Preis</label>
  <input id="purchase_order_list_price" class="w3-input"
         #purchase_order_list_price value="{{purchaseOrderListItem.purchase_order_list_price}}"
         (keyup)="updateValue('purchase_order_list_price', purchase_order_list_price.value)"
         l10nDecimal digits="1.2-2">
</div>
]]>
TypeScript document.getElementById().value https://blog.bitkorn.de/typescript-document-getelementbyid-value/ Mon, 09 Mar 2020 11:54:09 +0000 http://blog.bitkorn.de/?p=733 Die herkömmliche Art an die Value eines Input Elements zu kommen, funktioniert in TypeScript nicht.

JavaScript:

document.getElementById('my_id').value = 42;

TypeScript (3.7.5):

(document.getElementById('my_id') as HTMLInputElement).value = 42;

Dank auch mal wieder an stackoverflow.

]]>
angular page reload 404 https://blog.bitkorn.de/angular-page-reload-404/ Mon, 02 Mar 2020 10:13:29 +0000 http://blog.bitkorn.de/?p=731 ng build

und Seiten Reload gibt immer 404.

Um das zu beheben, in der app.module.ts folgendes:

// app.module.ts
import {HashLocationStrategy, LocationStrategy} from '@angular/common';
@NgModule({
  imports: [
    // ...
  ],
  declarations: [
    // ...
  ],
  providers: [
    {provide: LocationStrategy, useClass: HashLocationStrategy},
    // ...
  ],
  bootstrap: [AppComponent],
  exports: []
})
export class AppModule {
}

…und schon funzt es mit Angular 9.

]]>
node npm Zeug https://blog.bitkorn.de/node-npm-zeug/ Sun, 01 Mar 2020 09:56:32 +0000 http://blog.bitkorn.de/?p=729 Mehrfach ließen sich Kompilierungsprobleme in Angular damit lösen, dass man den Ordner ’node_modules‘ löscht und neu installiert:
Also, Ordner node_modules löschen und

npm install

machen.

nodejs installieren

github.com/nodesource/distributions

npm Notlösung

1.

npm cache clean --force

2. Ordner node_modules leeren
3.

npm install
]]>
Node Sass does not yet support your current environment https://blog.bitkorn.de/node-sass-does-not-yet-support-your-current-environment/ Wed, 19 Feb 2020 07:52:08 +0000 http://blog.bitkorn.de/?p=721 Folgende Fehlermeldung kommt bei npm run serve in einem vue ^2.6.10 Projekt mit node-sass ^4.9.0:

Module build failed (from ./node_modules/sass-loader/dist/cjs.js):
Error: Node Sass does not yet support your current environment: Linux 64-bit with Unsupported runtime (79)

Abhilfe schafft:

npm rebuild node-sass

…wenn nur eine Version von node-sass installiert ist.

Mit:

npm ls node-sass

sieht man alle Versionen.

]]>