Làm cách nào để thêm lớp CSS trong Angular ts?

0 ở trên đều có hai lớp.
1 và
2. Lưu ý rằng trong tài liệu chính thức, có một cặp dấu nháy đơn trong mỗi khóa đối tượng trong ví dụ thứ ba. Nhưng cả
1 và
2 đều không có dấu gạch ngang hoặc dấu cách trong đó. Vì vậy, chúng tôi có thể thoải mái loại bỏ các dấu ngoặc kép

Tuy nhiên, trong ví dụ thứ tư, vì khóa là

5 (có khoảng trắng ở giữa) nên chúng ta cần thêm dấu nháy đơn

Xin lưu ý - giá trị của

8 không nhất thiết phải là số nguyên, như được hiển thị ở trên. Hãy nhớ rằng ràng buộc thuộc tính đánh giá biểu thức của nó. Vì vậy, miễn là biểu thức có thể được hiểu là
7, chúng ta có thể bắt đầu

Cách sử dụng ngClass trong góc

Vậy biểu thức là gì? . Bạn có thể đã quen thuộc với các câu lệnh

0 chịu trách nhiệm về luồng điều khiển. Lưu ý rằng câu lệnh
0 không có giá trị trả về

Mặt khác, giả sử,

2 là một biểu thức (với điều kiện là
3 có giá trị như
4) và nó có "giá trị trả về" là
5

Trong ECMAScript, phép gán cũng được coi là một

8 và nó có "giá trị trả về". Nhưng chúng ta không thể đặt một biểu thức gán trong liên kết thuộc tính trong Angular, điều này sẽ gây ra lỗi nói rằng "Các ràng buộc không thể chứa các phép gán"

Như đã nói, tất cả các

7 sau đây đều hợp lệ


Cách sử dụng ngClass góc với một điều kiện đơn giản

Chúng tôi không thể viết một tuyên bố

0 trong
8, do thực tế đó là một tuyên bố. Nhưng chúng ta không thể sử dụng toán tử bậc ba vì đây là một biểu thức

Ví dụ: nếu chúng tôi muốn văn bản trong một ô của bảng có lớp là

0 khi giá trị của nó lớn hơn
1 và nếu không thì nó phải có lớp là
2, đây là mã

Và nếu chúng ta muốn chuyển đổi một lớp dựa trên một điều kiện, chúng ta có thể biến một trong các biểu thức thành một chuỗi rỗng

Ví dụ: nếu chúng tôi muốn thêm một lớp

3 vào một biểu mẫu khi nó không hợp lệ và xóa lớp
3 khi nó hợp lệ, chúng tôi có thể làm điều này

Nhưng có một cách ít dài dòng hơn. Hãy nhớ rằng

8 cũng hỗ trợ một đối tượng như một giá trị

Một cách khác để đạt được điều tương tự là sử dụng. Đây là lý tưởng cho một lớp duy nhất

Cách làm việc với Object Literals và ngClass

Khi chúng ta sử dụng các đối tượng theo nghĩa đen, thì

6 đại diện cho
7 mà chúng ta sẽ định cấu hình cho phần tử, trong khi
8 biểu thị liệu lớp có nên được áp dụng cho phần tử hay không

Lưu ý rằng

6 sẽ chỉ được áp dụng khi
8 là
1. Trong ví dụ trên, nếu
2 là một trong số
3,
4,
5, v.v., thì lớp của
3 sẽ không áp dụng cho phần tử

Một điều nữa cần lưu ý là cú pháp chưa được hỗ trợ. Nhưng có một vấn đề mở trong repo GitHub chính thức của Angular

Angular ngClass và điều kiện phức tạp

Nếu điều kiện không chỉ là

7 thì sao?

if (val >= 0 && val <= 5) {
  return 'low';
} else if (val >= 6 && val <= 10) {
  return 'medium';
} else {
  return 'high'
}

Như đã đề cập ở trên, chúng ta không thể sử dụng câu lệnh

if (val >= 0 && val <= 5) {
  return 'low';
} else if (val >= 6 && val <= 10) {
  return 'medium';
} else {
  return 'high'
}
2 trong
8. Nhưng chờ đã,
if (val >= 0 && val <= 5) {
  return 'low';
} else if (val >= 6 && val <= 10) {
  return 'medium';
} else {
  return 'high'
}
5 là một biểu thức hợp lệ có giá trị trả về và chúng ta có thể sử dụng câu lệnh
if (val >= 0 && val <= 5) {
  return 'low';
} else if (val >= 6 && val <= 10) {
  return 'medium';
} else {
  return 'high'
}
2 trong một
if (val >= 0 && val <= 5) {
  return 'low';
} else if (val >= 6 && val <= 10) {
  return 'medium';
} else {
  return 'high'
}
5

class MyComponent {
  getClassOf(val) {
    if (val >= 0 && val <= 5) {
      return 'low';
    } else if (val > 5 && val <= 10) {
      return 'medium';
    } else {
      return 'high'
    }
  }
}

Càng xa càng tốt. Nhưng tôi muốn chỉ ra rằng điều này thực sự không lý tưởng. Tóm lại, do cách thức hoạt động của

if (val >= 0 && val <= 5) {
  return 'low';
} else if (val >= 6 && val <= 10) {
  return 'medium';
} else {
  return 'high'
}
8 trong Angular, hàm trên
if (val >= 0 && val <= 5) {
  return 'low';
} else if (val >= 6 && val <= 10) {
  return 'medium';
} else {
  return 'high'
}
9 có thể chạy nhiều lần, ngay cả khi chúng tôi cho rằng nó không cần thiết

Điều đó nằm ngoài chủ đề của bài viết này, nhưng bạn có thể xem bài viết này nếu bạn muốn biết thêm

Chúng tôi vẫn có thể đạt được kết quả tương tự mà không cần sử dụng

if (val >= 0 && val <= 5) {
  return 'low';
} else if (val >= 6 && val <= 10) {
  return 'medium';
} else {
  return 'high'
}
5. Với một đối tượng theo nghĩa đen, nó trông như thế này

0

Có vẻ hơi dài dòng. Hãy xem xét rằng sẽ chỉ có một lớp được áp dụng cho phần tử, vì vậy nếu chúng ta có thể biến đổi

8 của mình trước thì đó là điều lý tưởng

1

Và tất cả những gì chúng ta cần làm trong mẫu là

2

Có một số trường hợp chúng ta có thể sử dụng mảng. Xét quan hệ ánh xạ sau

3

Điều này có nghĩa là đối với một

8 là
4, lớp của phần tử sẽ là
class MyComponent {
  getClassOf(val) {
    if (val >= 0 && val <= 5) {
      return 'low';
    } else if (val > 5 && val <= 10) {
      return 'medium';
    } else {
      return 'high'
    }
  }
}
4. Khi chúng tôi thấy các số liên tiếp như
4,
class MyComponent {
  getClassOf(val) {
    if (val >= 0 && val <= 5) {
      return 'low';
    } else if (val > 5 && val <= 10) {
      return 'medium';
    } else {
      return 'high'
    }
  }
}
6 và
class MyComponent {
  getClassOf(val) {
    if (val >= 0 && val <= 5) {
      return 'low';
    } else if (val > 5 && val <= 10) {
      return 'medium';
    } else {
      return 'high'
    }
  }
}
7, thì chúng tôi có thể xem xét sử dụng một mảng. Điều này là do bằng cách trừ đi
4 từ mỗi giá trị, chúng tôi nhận được
class MyComponent {
  getClassOf(val) {
    if (val >= 0 && val <= 5) {
      return 'low';
    } else if (val > 5 && val <= 10) {
      return 'medium';
    } else {
      return 'high'
    }
  }
}
9,
4 và
class MyComponent {
  getClassOf(val) {
    if (val >= 0 && val <= 5) {
      return 'low';
    } else if (val > 5 && val <= 10) {
      return 'medium';
    } else {
      return 'high'
    }
  }
}
6, đây chỉ là các chỉ số của một mảng

4_______0_______5

Một sự thật thú vị là trong ECMAScript, một mảng chỉ là một đối tượng với khá nhiều thuộc tính và phương thức bổ sung. Vì vậy, bạn cũng có thể làm như trên với một đối tượng

6_______0_______7

Lưu ý rằng bạn cũng có thể đạt được điều trên với các toán tử bậc ba lồng nhau, đây là điều mà tôi luôn cố gắng tránh

[ngClass] so với [class] trong Góc

Trước khi chúng tôi kết thúc, một điều đáng nói là ký hiệu

2. Điều này có sẵn bắt đầu từ
3, được giới thiệu trong Angular 9 dưới dạng trình biên dịch và thời gian chạy mặc định

2 gần như tương thích ngược với
7, với một số khác biệt

6 hoạt động, nhưng
7 sẽ không hoạt động. Xem vấn đề mở này
  • Giá trị của
  • 2 không phải là "deepwatched". Xem tại đây

    Phần kết luận

    Cảm ơn vì đã đọc. Hy vọng bây giờ bạn đã biết cách thức hoạt động của

    8 và có thể tự tin sử dụng nó

    QUẢNG CÁO

    QUẢNG CÁO

    QUẢNG CÁO

    QUẢNG CÁO

    QUẢNG CÁO

    QUẢNG CÁO

    QUẢNG CÁO

    QUẢNG CÁO


    Làm cách nào để thêm lớp CSS trong Angular ts?
    Xing Liu

    Đọc thêm bài viết


    Nếu bài viết này hữu ích, hãy tweet nó

    Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu

    Làm cách nào để thêm một lớp CSS trong Angular?

    Cách gán một lớp CSS trong Angular bằng cách sử dụng liên kết thuộc tính [className] . Angular, giống như các khung ứng dụng trang đơn khác, thực sự tỏa sáng khi liên kết dữ liệu. Điều đó có nghĩa là DOM được tự động cập nhật bất cứ khi nào đối tượng JavaScript tương ứng thay đổi. Điều này cũng tương tự đối với các lớp CSS.

    Làm cách nào để thêm lớp CSS trong TypeScript?

    Cách thêm lớp vào phần tử trong TypeScript. .
    Chọn phần tử
    Sử dụng danh sách lớp. phương thức add() để thêm một lớp vào phần tử
    Phương thức thêm lớp được cung cấp vào phần tử nếu nó chưa có

    Làm cách nào để truy cập lớp CSS trong TypeScript?

    Cách đặt kiểu CSS cho một phần tử trong TypeScript. .
    Chọn phần tử cụ thể
    Đặt thuộc tính trên đối tượng kiểu của phần tử để cập nhật kiểu của nó
    Ví dụ, e. Phong cách. nềnColor = 'vôi'

    Làm cách nào để thêm lớp CSS dựa trên điều kiện trong Angular?

    Để thêm một lớp có điều kiện trong Angular, chúng ta có thể truyền một đối tượng cho ngClass trong đó khóa là tên lớp và giá trị là điều kiện i. e. , đúng hay sai như hình bên dưới. Và trong đoạn mã trên, tên lớp sẽ chỉ được thêm khi điều kiện là đúng.

    8 là một lệnh trong Angular bổ sung và loại bỏ các lớp CSS trên một phần tử HTML. Trong bài viết này, chúng ta chỉ nói về
    8 trong Angular, không phải
    
    
    0 trong angular. js

    Điều kiện tiên quyết – Ràng buộc thuộc tính là gì?

    Hai điều đầu tiên chúng ta phải hiểu là liên kết và nội suy thuộc tính trong Angular. Hãy lấy thuộc tính

    
    
    1 của
    
    
    2 làm ví dụ

    Hãy xem xét đoạn mã sau

    
    
    
    
    
    
    

    Cho rằng chúng ta đã xác định

    
    
    3 trong thành phần, thì tất cả các đoạn mã trên sẽ thực hiện chính xác điều tương tự

    Tôi sẽ coi phép nội suy (_______2_______4) là một

    
    
    5. Và ràng buộc thuộc tính chỉ là một cách ít dài dòng hơn để đạt được điều tương tự. Cá nhân, tôi sử dụng ràng buộc thuộc tính nhiều nhất có thể

    ngClass trong góc là gì?

    Khi nói đến

    8, nó hỗ trợ ba loại biểu thức "trả về giá trị".
    
    
    7,
    
    
    8 và
    
    
    9. Đây là một ví dụ từ

    Tất cả các phần tử

    {{ val }}{{ val }}{{ val }}{{ val }}{{ val }}{{ val }}{{ val }}{{ val }}{{ val }}{{ val }}{{ val }}{{ val }}{{ val }}{{ val }}{{ val }}{{ val }}