2012-06-13 42 views
12

Tôi mới sử dụng Jade - và nó tuyệt vời cho đến nay.Jade: thuộc tính phần tử không có giá trị

Nhưng có một điều mà tôi cần phải xảy ra là một yếu tố với 'itemscope' bất động sản:

<header itemscope itemtype="http://schema.org/WPHeader"> 

ký hiệu Jade của tôi là:

header(itemscope, itemtype='http://schema.org/WPHeader') 

Nhưng kết quả là:

<header itemscope="itemscope" itemtype="http://schema.org/WPHeader"> 

Làm cách nào để đảm bảo rằng tôi nhận được kết quả đúng - itemscope thay vì itemscope="itemscope"?

+1

itemscope = "itemscope" sẽ hoạt động giống như chỉ itemscope. Có vẻ như đó là hành vi mặc định của Jade. Tôi chỉ đi với nó. – jwerre

Trả lời

6

Tôi chỉ cố gắng trong một dự án Express.js/Jade và kết quả tôi nhận được là:

<header itemscope itemtype="http://schema.org/WPHeader"></header> 

Tôi cũng đã thử nó trong bash và sau đó tôi nhận được kết quả tương tự như bạn.

Tôi muốn thực hiện theo đề xuất sau hoặc tạo sự cố trên Github.

itemscope = "itemscope" sẽ hoạt động giống như chỉ itemscope. Có vẻ như đó là hành vi mặc định của Jade. Tôi chỉ đi với nó.

+0

Cảm ơn. Kỳ lạ rằng kết quả là khác nhau. Được rồi, sẽ đi với điều này. –

+0

Điều này vẫn hiển thị trong các tìm kiếm trên google. Giải pháp đúng cho tôi là đặt thuộc tính bằng chuỗi rỗng. – HasFiveVowels

12

Đôi khi nó không hoạt động hoàn toàn đúng - như với contentEditable Jade cố gắng phát hiện các loại tài liệu html5 và sau đó thực hiện <header itemscope itemtype="http://schema.org/WPHeader"></header> nếu tìm thấy. Vấn đề là nếu bạn có các mẫu mà bạn đang chèn vào trang, nó không thể nói rằng đó là html5.

Những gì bạn có thể làm là lực lượng html5 biên soạn bằng cách đi qua trong {doctype: '5'} với các tùy chọn - đã làm điều này cho yêu cầu-ngọc: https://github.com/ibash/require-jade/commit/754cba2dce7574b400f75a05172ec97465a8a5eb

+5

Tôi tin rằng cú pháp bây giờ là '{doctype: 'html'}' – Jay

1

tôi đã cùng một vấn đề, và các giải pháp đơn giản nhất trong trường hợp của tôi được thêm doctype 5 tại đầu tài liệu ngọc bích của tôi. Điều đó dường như cho phép Jade sử dụng các thuộc tính không có giá trị. ibash đặt tôi đi đúng hướng với câu trả lời của anh ấy, vì vậy, cảm ơn vì điều đó

+2

Trình biên dịch nói rằng: doctype 5 không được dùng nữa, hãy sử dụng html thay thế.Vì vậy, tôi chỉ cần viết doctype html ngay trước html (lang = en). FYI. – ankakusu

10

Tôi đã gặp vấn đề tương tự khi sử dụng chỉ thị ng-bao gồm góc. Nó được ng-include = "ng-include" và sau đó bao gồm doesn'nt làm việc.

Điều gì phù hợp với tôi là sử dụng chuỗi trống làm giá trị, tức là ng-include = "".

+1

Vâng tôi đã dành thời gian cố gắng để có được ngọc bích chơi cùng nhưng nó chắc chắn không được viết với góc trong tâm trí – ditoslav

6

Dưới đây là câu trả lời từ các nhà phát triển ngọc: bạn nên sử dụng

doctype html 

trong mẫu.

https://github.com/pugjs/jade/issues/370

+1

bình luận này nên đi trên đầu trang của mỗi 'ngọc-template'. Sau đó, chúng ta không cần gán các giá trị 'blank-string' cho các thuộc tính. 'doctype html' và dòng tiếp theo' div # core (ui-view controller = "CoreCtrl") '. Lưu ý 'ui-view' trong mã. Cảm ơn @alehro – Akash

+0

Vâng, đây là nó. – taylorpalmer

Các vấn đề liên quan