Dấu ngoặc đơn hàm javascript
XPath sử dụng các biểu thức đường dẫn để chọn các nút hoặc tập hợp nút trong tài liệu XML. Nút được chọn bằng cách đi theo một đường dẫn hoặc các bước Show
Tài liệu Ví dụ XMLChúng tôi sẽ sử dụng tài liệu XML sau trong các ví dụ bên dưới
Chọn nútXPath sử dụng các biểu thức đường dẫn để chọn các nút trong tài liệu XML. Nút được chọn bằng cách đi theo một đường dẫn hoặc các bước. Các biểu thức đường dẫn hữu ích nhất được liệt kê dưới đây ExpressionDescriptionnodenameChọn tất cả các nút có tên "nodename"/Chọn từ nút gốc//Chọn các nút trong tài liệu từ nút hiện tại khớp với lựa chọn bất kể chúng ở đâu. Chọn nút hiện tại. Chọn cha của nút hiện tại@Chọn thuộc tínhTrong bảng dưới đây, chúng tôi đã liệt kê một số biểu thức đường dẫn và kết quả của các biểu thức Biểu thức đường dẫnResultbookstoreChọn tất cả các nút có tên "hiệu sách"/hiệu sáchChọn phần tử gốc hiệu sáchGhi chú. Nếu đường dẫn bắt đầu bằng dấu gạch chéo ( / ) thì nó luôn đại diện cho một đường dẫn tuyệt đối đến một phần tử cửa hàng sách/sáchChọn tất cả các phần tử sách là con của cửa hàng sách//bookChọn tất cả các phần tử sách bất kể chúng ở đâu trong tài liệubookstore//bookChọn tất cả các phần tử sách là hậu duệ của phần tử cửa hàng sách, bất kể chúng ở đâu dưới phần tử cửa hàng sách//Vị ngữCác vị từ được sử dụng để tìm một nút cụ thể hoặc một nút chứa một giá trị cụ thể Vị ngữ luôn được đặt trong dấu ngoặc vuông Trong bảng dưới đây, chúng tôi đã liệt kê một số biểu thức đường dẫn với các vị từ và kết quả của các biểu thức Biểu thức đường dẫnResult/bookstore/book[1]Chọn phần tử sách đầu tiên là phần tử con của phần tử hiệu sáchGhi chú. Trong IE 5,6,7,8,9 nút đầu tiên là [0], nhưng theo W3C, đó là [1]. Để giải quyết vấn đề này trong IE, hãy đặt SelectionLanguage thành XPath Nếu hình (nguồn) sau đây trông có vẻ không hợp lý, thì bài viết này có thể dành cho bạn từ chối trách nhiệm. bài viết dựa trên Angular v1. 2. 10 cây @ 8Chỉ thị là cái quái gì?Chỉ thị thường là các thành phần nhỏ nhằm tương tác với DOM, trong Angular. Chúng được sử dụng như một lớp trừu tượng trên cùng của DOM và hầu hết các thao tác có thể đạt được mà không cần chạm vào các phần tử DOM, được bao bọc trong jQuery, jqLite hoặc cách khác. Điều này được thực hiện bằng cách sử dụng các biểu thức và các lệnh khác để đạt được kết quả bạn muốn Các chỉ thị trong lõi Góc có thể liên kết một thuộc tính phần tử (chẳng hạn như khả năng hiển thị, danh sách lớp, văn bản bên trong, HTML bên trong hoặc giá trị) với thuộc tính phạm vi hoặc biểu thức. Đáng chú ý nhất, các ràng buộc này sẽ được cập nhật bất cứ khi nào các thay đổi trong phạm vi được tiêu hóa, sử dụng đồng hồ. Tương tự và theo hướng ngược lại, các thuộc tính DOM chúng ta có thể “đã xem” bằng cách sử dụng hàm 9, hàm này sẽ kích hoạt gọi lại bất cứ khi nào thuộc tính đã xem thay đổiChỉ thị, nói một cách đơn giản, là bộ mặt quan trọng nhất của Angular. Nếu bạn thành thạo các chỉ thị, bạn sẽ không gặp bất kỳ sự cố nào khi xử lý các ứng dụng Angular. Tương tự như vậy, nếu bạn không quản lý để nắm bắt các chỉ thị, bạn sẽ mù quáng nắm lấy ống hút, không biết mình sẽ làm gì tiếp theo. Nắm vững các lệnh cần có thời gian, đặc biệt nếu bạn đang cố gắng tránh xa việc chỉ đơn thuần gói một đoạn mã do jQuery cung cấp và gọi nó là một ngày
sức mạnh tổng hợp. Sức mạnh tổng hợp là nước sốt bí mật được tìm kiếm từ lâu Sức mạnh tổng hợp là một thuật ngữ mà tôi đã trở nên thân thiết vài năm trước, vì tôi đã từng. Các bộ bài tốt nhất trong MTG thường là những bộ bài mà mỗi lá bài trong bộ bài sáu mươi lá của bạn được trao quyền bởi mối quan hệ của nó với phần còn lại của bộ bài của bạn. Trong các bộ bài hiệp lực này, bạn chạy với lợi thế đáng kể. mỗi lá bài bạn rút có khả năng cải thiện tác động của mỗi lá bài trên tay bạn và hiệu ứng này tăng theo cấp số nhân khi bạn rút thêm lá bài. Có thể nói, hai yếu tố quan trọng nhất để xây dựng một bộ bài tốt là nguồn rút bài và tiềm năng hiệp đồng. Nó không khác với các ứng dụng Angular. Trong các ứng dụng Angular, bạn càng sử dụng nhiều cơ chế bên trong của Angular, chẳng hạn như phạm vi, sự kiện, dịch vụ và các tùy chọn khác nhau có sẵn cho các lệnh, thì ứng dụng của bạn sẽ càng có tính hiệp lực cao hơn. Sức mạnh tổng hợp chuyển thành khả năng tái sử dụng. Các thành phần có tính đồng bộ cao cho phép bạn chia sẻ chúng giữa các phần của ứng dụng hoặc thậm chí hoàn toàn giữa các ứng dụng Sức mạnh tổng hợp làm cho các ứng dụng Angular hoạt động như thể ma thuật tồn tại. Sức mạnh tổng hợp làm cho sự tương tác phức tạp trở nên dễ dàng, hợp lý và dễ hiểu. Sức mạnh tổng hợp là thứ thúc đẩy sự tương tác phức tạp thành các khối xây dựng của nó, chia nhỏ nó thành các yếu tố cần thiết mà bất kỳ ai cũng có thể hiểu được. Sức mạnh tổng hợp ở khắp mọi nơi, sức mạnh tổng hợp không chỉ nằm trong mã mà bạn còn có thể tìm thấy nó trong UX. Một ứng dụng hiệp đồng sẽ cảm thấy tự nhiên hơn, dễ sử dụng hơn và trực quan hơn. Bạn sẽ cảm thấy như bạn biết ứng dụng và thường đoán chính xác bước tiếp theo sẽ như thế nào, bởi vì tác giả ứng dụng quan tâm đến những gì bạn nghĩ sẽ xảy ra Trong Angular, sức mạnh tổng hợp có nghĩa là có thể xây dựng các chỉ thị, dịch vụ và bộ điều khiển được thành phần hóa, có thể được sử dụng lại thường xuyên khi chúng được sử dụng lại. Chẳng hạn, bạn có thể có một lệnh đơn giản bật một lớp dựa trên biểu thức phạm vi đã xem và tôi cho rằng đó có thể là một lệnh khá phổ biến, được sử dụng ở mọi nơi trong ứng dụng của bạn, để báo hiệu trạng thái của một thành phần cụ thể trong ứng dụng của bạn. . Bạn có thể có một dịch vụ để tổng hợp xử lý phím tắt và có bộ điều khiển, chỉ thị và các dịch vụ khác, đăng ký phím tắt với dịch vụ đó, root tất cả việc xử lý phím tắt của bạn trong một dịch vụ độc lập Chỉ thị cũng là các phần chức năng có thể tái sử dụng, nhưng thông thường, chúng được liên kết với các đoạn DOM hoặc mẫu, thay vì chỉ cung cấp chức năng. Đánh dấu cũng quan trọng không kém trong việc cung cấp sức mạnh tổng hợp, nếu không muốn nói là hơn thế. Đã đến lúc tôi cung cấp cho bạn thông tin chi tiết về các chỉ thị Angular và các trường hợp sử dụng của chúng Trước đó, tôi đã liệt kê từng thuộc tính có sẵn trên một phạm vi trong Angular và tôi đã sử dụng điều đó để giải thích cơ chế phân loại và cách hoạt động của phạm vi. Tôi sẽ làm tương tự với các chỉ thị, nhưng lần này tôi sẽ xem xét các thuộc tính của đối tượng được trả về bởi hàm xuất xưởng của một chỉ thị và cách mỗi thuộc tính đó ảnh hưởng đến chỉ thị mà chúng ta đang xác định Điều đầu tiên cần lưu ý là tên của chỉ thị. Hãy xem xét một ví dụ ngắn gọn
Mặc dù trong đoạn mã trên, tôi đang xác định một lệnh có tên là 0, thay vào đó, tôi sẽ sử dụng phiên bản nét đứt của tên đó trong phần đánh dấu. Nghĩa là, nếu lệnh này được triển khai như một thuộc tính, tôi có thể cần tham chiếu nó như bên dưới, trong HTML của mình
Theo mặc định, các lệnh chỉ có thể được kích hoạt dưới dạng thuộc tính, nhưng nếu bạn muốn thay đổi hành vi này thì sao?
Vì một số lý do mà tôi không thể hiểu được, bằng cách nào đó, họ đã quyết định làm xáo trộn khung dài dòng, và chúng tôi đã kết thúc bằng một chữ cái in hoa để xác định cách giới hạn một lệnh. Đây là danh sách
Đừng bao giờ sử dụng 8 hoặc 30 để hạn chế chỉ thị của bạn. Sử dụng 8 không nổi bật trong đánh dấu và sử dụng 30 nhằm tương thích ngược. Tuy nhiên, nếu bạn cảm thấy hài hước, bạn có thể đặt 1 thành 38
Thật không may, phần còn lại của các thuộc tính trong một đối tượng định nghĩa chỉ thị khó hiểu hơn nhiều
Vì chúng ta đã thảo luận chi tiết về phạm vi trong phần trước, nên việc học cách sử dụng thuộc tính 39 đúng cách không quá khó khăn. Hãy bắt đầu với giá trị mặc định, 22, trong đó chuỗi phạm vi không bị ảnh hưởng. bạn nhận được bất kỳ phạm vi nào được tìm thấy trên phần tử được liên kết, tuân theo các quy tắc tôi đã nêu trong phần trướcĐể nguyên chuỗi phạm vi rõ ràng là hữu ích khi chỉ thị của bạn hoàn toàn không tương tác với phạm vi, nhưng điều đó hiếm khi xảy ra. Một tình huống phổ biến hơn nhiều khi không chạm vào phạm vi là hữu ích, đó là khi tạo một lệnh không có lý do gì để được thực hiện nhiều lần trên bất kỳ phạm vi cụ thể nào và chỉ tương tác với một thuộc tính phạm vi duy nhất, tên lệnh. Điều này mang tính khai báo nhất khi được kết hợp với 23, giá trị mặc định của 1
3Lấy bút. Có một vài điều cần lưu ý ở đây, mà chúng ta chưa thảo luận. Bạn sẽ tìm hiểu thêm về tài sản 25 sau trong bài viết. Hiện tại, bạn có thể coi nó như một bộ điều khiển chạy cho từng phiên bản của lệnhTrong chức năng liên kết chỉ thị, chúng ta có thể truy cập 26, đây là tập hợp các thuộc tính có trên 27. Bộ sưu tập này có một phương thức đặc biệt, được gọi là 28, sẽ kích hoạt một cuộc gọi lại. Nếu không theo dõi thuộc tính để biết các thay đổi, thuộc tính sẽ không bao giờ thuộc phạm vi và chúng tôi sẽ không thể liên kết với thuộc tính đó trong mẫu của mìnhChúng ta có thể thay đổi mã ở trên, làm cho nó hữu ích hơn nhiều, bằng cách thêm 29 vào hỗn hợp. Hãy nhớ làm thế nào nó có thể được sử dụng để đánh giá một biểu thức dựa trên một phạm vi? 2____35Trong trường hợp này, tôi đang đánh giá giá trị thuộc tính, 50, dựa trên phạm vi, đã xác định 51 tại bộ điều khiển. Tất nhiên, bạn có thể trực tiếp sử dụng mẫu như 52, nhưng điều đó sẽ yêu cầu kiến thức cụ thể về thuộc tính nào trong phạm vi bạn muốn theo dõi. Mẫu này cung cấp tính linh hoạt hơn một chút, mặc dù bạn vẫn sẽ chia sẻ phạm vi trên tất cả các lệnh, điều này có thể dẫn đến hành vi không mong muốn nếu bạn thử thêm nhiều lệnh trong cùng một phạm viPhạm vi trẻ em vui tươiBạn có thể giải quyết vấn đề đó bằng cách tạo một phạm vi con, kế thừa nguyên mẫu từ cha của nó. Để tạo phạm vi con, bạn chỉ cần khai báo 53 0 1Như bạn có thể thấy, giờ đây chúng ta có thể sử dụng nhiều phiên bản của lệnh và nhận được hành vi mong muốn, bởi vì mỗi lệnh đang tạo phạm vi riêng của nó. Tuy nhiên, có một hạn chế. nhiều chỉ thị trên một phần tử đều có cùng phạm vi
Phạm vi cô đơn, biệt lậpMột tùy chọn cuối cùng là tạo phạm vi cục bộ hoặc cô lập. Sự khác biệt giữa phạm vi cô lập và phạm vi con là phạm vi cục bộ không kế thừa từ cha mẹ của chúng (nhưng nó vẫn có thể truy cập được trên 54). Bạn có thể khai báo một phạm vi cô lập như thế này. 55. Bạn có thể thêm các thuộc tính vào đối tượng, thuộc tính này được liên kết dữ liệu với phạm vi chính nhưng có thể truy cập được trên phạm vi cục bộ. Giống như 1, các thuộc tính phạm vi cô lập có cú pháp ngắn gọn nhưng khó hiểu, trong đó bạn có thể sử dụng các ký hiệu như 57, 58 và 59 để xác định cách liên kết thuộc tínhBạn có thể bỏ qua tên thuộc tính nếu bạn định sử dụng tên đó làm khóa trong phạm vi cục bộ của mình. Điều đó có nghĩa là, 00 là dạng viết tắt của ________ 401, chúng tương đương nhauChọn vũ khí của bạn. angular.module('PonyDeli').directive('pieceOfFood', function () { return { template: '{{pieceOfFood}}', link: function (scope, element, attrs) { attrs.$observe('pieceOfFood', function (value) { scope.pieceOfFood = value; }); } }; }); 58, angular.module('PonyDeli').directive('pieceOfFood', function () { return { template: '{{pieceOfFood}}', link: function (scope, element, attrs) { attrs.$observe('pieceOfFood', function (value) { scope.pieceOfFood = value; }); } }; }); 57 hay angular.module('PonyDeli').directive('pieceOfFood', function () { return { template: '{{pieceOfFood}}', link: function (scope, element, attrs) { attrs.$observe('pieceOfFood', function (value) { scope.pieceOfFood = value; }); } }; }); 59?Vậy những biểu tượng đó có ý nghĩa gì? Người quan sát thuộc tính, angular.module('PonyDeli').directive('pieceOfFood', function () {
return {
template: '{{pieceOfFood}}',
link: function (scope, element, attrs) {
attrs.$observe('pieceOfFood', function (value) {
scope.pieceOfFood = value;
});
}
};
});
|