2022年7月3日 星期日

解決Could not find com.android.tools.build:gradle 問題

 現在CSDN的文章也不靠譜,都是複制粘貼。回到問題


repositories 也設置了

下載 gradle-6.8.1-all.zip 


設置 -》 gradle -》 使用 gradle 從選擇 'gradle-wrapper.propertiers' 


setting -》 gradle -》 gradle user home 選擇解壓gradle-6.8.1-all.zip 後的目錄


下面關鍵的來了


依賴{

    類路徑 'com.android.tools.build:gradle: 4.0.0 '

}

這個是插件版本,並不是你的gradle 的版本,


插件跟gradle版本對比看如下鏈接:


https://developer.android.google.cn/studio/releases/gradle-plugin.html


我之前一直把插件版本跟gradle 寫成一樣,結果怎麼都是報 Could not find com.android.tools.build:gradle 錯誤。希望你避免踩坑




2022年6月9日 星期四

[Angular] 使用 @ViewChild 取得操作 DOM 屬性

在使用 Angular 開發時因為已內建基本的資料繫結功能,我們只要在 html 範本中依照繫結語法即可簡單快速地完成對指定的 DOM 物件完成繫結,只要變更 component.ts 的資料內容,DOM 的值就會跟著變動,不用像使用 jquery 需要先一個一個取得指定物件在對其操作,這對常需要使用動態表格的功能開發上減少了許多負擔,但有時候我們還是會依照需求在某個時間對單獨的 DOM 物件進行操作或取得屬性值來判斷,例如使用 fabric.js,等需要對 canvas 設定大小的操作,通常我們不會寫死,而是依照其上一層的 div 元素大小來動態設定 canvas 畫布大小,這時候我們可以用 @ViewChild 屬性裝飾器來於 component.ts 操作 DOM 物件內容。

 

 

使用說明

示範使用 fabricjs 依照動態寬高設定 canvas 大小

app.component.scss

.viewport {
     width: 100%;
     height: calc(100vh - 250px);
}

app.component.html

    <div #viewport class="viewport">
      <canvas id="canvas" style="border:1px dashed"></canvas>
    </div>

app.component.ts

import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';
import { Canvas } from 'fabric/fabric-impl';
import { fabric } from 'fabric';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})

export class AppComponent implements OnInit {

  private canvas: Canvas;

 @ViewChild('viewport', { static: true }) viewportDOM: ElementRef;

  constructor() { }

  ngOnInit(): void {
  
  this.canvas = new fabric.Canvas('canvas');
  this.canvas.setWidth(this.viewportDOM.nativeElement.offsetWidth);
  this.canvas.setHeight(this.viewportDOM.nativeElement.offsetHeight);
  this.canvas.renderAll();
  }
}

注意這裡使用方式情境和官網範例點不太一樣,這裡多設定了一個 static 的選項,因為我想在 ngOnInit() 時就完成操作,而 static 參數是指我們要操作的 DOM 在 component.html 一開始就存在,不是透過 *ngIf 或 *ngFor 等結構型指令去產生的,如果要操作的 DOM 是由結構型指令產生,可以不用加上 static 參數,因為不加就是預設 static : false,這時候就要在 ngAfterViewInit() 才能抓到 @ViewChild 的內容,否則會報錯。






From: https://www.tpisoftware.com/tpu/articleDetails/2366

2022年1月17日 星期一

How to Uninstall and Reinstall Angular cli?

Uninstall Angular CLI:
npm uninstall -g @angular/cli

Clear Cache:
npm cache clean --force
npm cache verify

Install Angular CLI:
npm install -g @angular/cli

ionic project create

ionic start test blank --type=ionic-angular --capacitor
cd test
ionic build
ionic cordova platform add android
ionic cap add android



or
ionic start test blank --type=ionic-angular --cordova
cd test
ionic build
ionic cordova platform add android
ionic cap add android

Ionic repair



C: \ionic repair



[INFO] ionic repair will do the following:

- Remove node_modules/ and package-lock.json
- Run npm i to restore dependencies
- Remove platforms/ and plugins/
- Run cordova prepare to restore platforms and plugins

Node.js 重新安裝

第 1 步:從系統中卸載 NodeJs 應用 

第 2 步:轉到 programFiles/nodejs ->刪除 node_modules 文件夾  

第 3 步:重新安裝 NodeJs 應用 (Download)

2020年11月5日 星期四

完整說明如何安裝 jQuery, Popper JS and Bootstrap 4 至 angular 8 以上版本中使用

簡介:

Bootstrap 4 is the latest version of Bootstrap. Bootstrap is a free front-end framework for quick and simple web development. Bootstrap helps to create responsive designs in less time. Bootstrap contains many HTML and CSS based templates or components like typography, buttons, forms, tables, image carousels, navigation, modals, pagination, spinners, alerts, icons, dropdowns, cards and many more.

先決條件:

  1. Node.js 安裝.
  2. Angular CLI 安裝.

如果你是從零開始的新學習者,你必須先把開發環境安裝好,Node.js 及 Angular CLI 。

Getting started: Creating a hello world application in angular 8

要安裝 Bootstrap 4 需要先安裝  jQuery 及 popper.js 才能正常使用. 下方說明安裝的步驟

方法 1: MaxCDN

If you don’t want to install and host bootstrap, you can add it from CDN(Content Delivery Network).

步驟 1: Copy-paste following link and script tags into your head tag in the index.html file

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>

步驟 2: Copy-paste following code in the app.component.html file

<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
  <a class="navbar-brand" href="#">DevConquer</a>

  <!-- Links -->
  <ul class="navbar-nav">
    <li class="nav-item">
      <a class="nav-link" href="#">Link 1</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#">Link 2</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#">Link 3</a>
    </li>
  </ul>
</nav>

<div class="jumbotron">
  <h1 class="text-center">Welcome to angular 8 and bootstrap 4</h1>
</div>

步驟 3: Run your project and open the application in a browser

Run your project from a terminal by the ng serve command:

Open your application from a browser by the following URL:

http://localhost:4200

bootstrap 4 in angular

方法 2: By installing the npm packages

步驟 1: Install jQuery npm package

Install jquery npm package from a terminal by the following command:

npm install jquery --save

**Note: –save flag will add the dependency in package.json

installing jQuery

步驟2: Install Bootstrap npm package

Install bootstrap npm package from a terminal by the following command:

npm install bootstrap@4.3.1 --save
installing bootstrap 4

步驟 3: Install Popper JS npm package

Install popper.js npm package from a terminal by the following command:

npm install popper.js --save
installing popper js

步驟 4: Adding styles and scripts into angular.json file

Add the following styles and scripts code in the angular.json file from your project.

"styles": [
    "src/styles.css",
    "./node_modules/bootstrap/dist/css/bootstrap.min.css"
 ],
 "scripts": [
    "./node_modules/jquery/dist/jquery.min.js",
    "./node_modules/popper.js/dist/umd/popper.min.js",
    "./node_modules/bootstrap/dist/js/bootstrap.min.js"
 ]
adding styles and scripts

步驟 5: Copy-paste following code in the app.component.html file

<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
  <a class="navbar-brand" href="#">DevConquer</a>

  <!-- Links -->
  <ul class="navbar-nav">
    <li class="nav-item">
      <a class="nav-link" href="#">Link 1</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#">Link 2</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#">Link 3</a>
    </li>
  </ul>
</nav>

<div class="jumbotron">
  <h1 class="text-center">Welcome to angular 8 and bootstrap 4</h1>
</div>

步驟 6: Run your project and open the application in a browser

Run your project from a terminal by the ng serve command.

Open your application from a browser by the following URL:

http://localhost:4200

bootstrap 4 in angular