X-tmpl là gì?


86

Đang tìm kiếm câu trả lời trên mạng, nhưng không tìm thấy gì cả. Món ăn nhẹ mã này thực sự làm tôi thất vọng, vì tôi không thể hiểu nó. (Đó là một phần của plugin có tên: jQuery File Upload)

<script id="template-download" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
  <tr class="template-download fade">
    {% if (file.error) { %}
        <td></td>
        <td class="name"><span>{%=file.name%}</span></td>
        <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
        <td class="error" colspan="2"><span class="label label-important">{%=locale.fileupload.error%}</span> {%=locale.fileupload.errors[file.error] || file.error%}</td>
    {% } else { %}
        <td class="preview">{% if (file.thumbnail_url) { %}
            <a href="{%=file.url%}" title="{%=file.name%}" rel="gallery" download="{%=file.name%}"><img src="{%=file.thumbnail_url%}"></a>
        {% } %}</td>
        <td class="name">
            <a href="{%=file.url%}" title="{%=file.name%}" rel="{%=file.thumbnail_url&&'gallery'%}" download="{%=file.name%}">{%=file.name%}</a>
        </td>
        <td class="size"><span>{%=o.formatFileSize(file.size)%}</span></td>
        <td colspan="2"></td>
    {% } %}
    <td class="delete">
        <button class="btn btn-danger" data-type="{%=file.delete_type%}" data-url="{%=file.delete_url%}">
            <i class="icon-trash icon-white"></i>
            <span>{%=locale.fileupload.destroy%}</span>
        </button>
        <input type="checkbox" name="delete" value="1">
    </td>
  </tr>
{% } %}
</script>
  • Vậy, loại nào là text/x-tmpl?
  • Đây là những gì {%%}các thẻ?
  • Trình phân tích cú pháp nào thực thi mã này?
  • ...

... nhưng muốn biết mọi thứ về điều này.


hey bạn sẽ cho tôi biết làm thế nào bạn gửi dữ liệu với upload như tôi muốn gửi địa điểm với tập tin
NullPoiиteя

@Mayankswami: Tôi không hiểu bạn đang muốn hỏi gì ở tôi.
Dyin

tôi nghĩ rằng bạn đã sử dụng tải lên tệp jquery kể từ đó. tôi muốn biết cách gửi dữ liệu biểu mẫu với tệp.
NullPoiиteя

@Mayankswami: Tôi nghĩ bạn nên tìm kiếm câu hỏi của mình trên trang web này và nếu bạn không tìm thấy những gì bạn đang tìm kiếm, hãy tạo một câu hỏi.
Dyin

cùng mã này, tôi đã thấy trong trình tải lên tệp jquery nên rất
vui mừng

Câu trả lời:


63

x-tmpl không có ý nghĩa thực sự, nó chỉ đơn giản là ngăn trình duyệt hiểu tập lệnh dưới dạng javascript.

Nó chủ yếu được sử dụng với các mẫu jquery hoặc liên kết mẫu knockoutjs .

Tại một số điểm, một đối tượng dữ liệu javascript sẽ được sử dụng kết hợp với mẫu để hiển thị một số html. Các giá trị trong đối tượng dữ liệu sẽ thay thế những giá trị được đánh dấu bằng {%} và tương tự trong mẫu, với một số phần {%} phản ánh luồng mã như vòng lặp, v.v.

Tôi không chắc thư viện tạo khuôn mẫu nào sử dụng {%}, tuy nhiên, đó không phải là các mẫu jquery, jsrender hay knockout. Bạn phải kiểm tra những thư viện nào đang được tham chiếu trong mã mẫu.


25
Tôi đã tìm thấy nó ở đây Mẫu JavaScript . Tập lệnh được tham chiếu từ trang web này. Bây giờ tất cả có ý nghĩa. Cảm ơn bạn đã pha trò!
Dyin

1
jQuery không hoạt động Khi tôi kết xuất HTML với x-tmpl. Ví dụ: tôi có một hộp kiểm hiển thị bên trong x-tmpl. <label class = "modifiericon btn"> <input type = "checkbox" id = 'seo'> SEO </label>. Tập lệnh được thêm vào bên trong tệp html. Ví dụ: <script type = "text / javascript"> $ ('# seo'). Change (function () {if ($ (this) .is (': checks')) {alert ('hi');} else {alert ('hello');}} </script>
502_Geek

11

Vậy, kiểu text / x-tmpl là gì?

Một không tiêu chuẩn. Mặc dù trông giống như một mẫu.

Các thẻ {% và%} này là gì?

Một phần của ngôn ngữ mẫu.

Trình phân tích cú pháp nào thực thi mã này?

Có thể là một đoạn được viết bằng JavaScript và được nhập vào một <script>phần tử khác trên cùng một trang.



-4

Đoạn mã trên tham chiếu đến dự án Django Jquery File Upload được tìm thấy tại đây https://github.com/sigurdga/django-jquery-file-upload

{%%} Là thẻ mẫu Django. Để biết thêm thông tin, hãy truy cập https://docs.djangoproject.com/en/dev/ref/templates/

Các thẻ này sẽ được phân tích cú pháp bởi hệ thống tạo mẫu django


2
Thực hiện một số nghiên cứu thêm về điều này, tôi phát hiện ra rằng câu trả lời của tôi là sai. Trong trường hợp này, các thẻ được thư viện Javascript github.com/sigurdga/django-jquery-file-upload/blob/master/… này sử dụng như một phương pháp để hiển thị nội dung HTML theo thời gian thực dựa trên kết quả của hoạt động AJAX.
czager

7
Những thẻ này không phải là Django mẫu thẻ, nhưng Javascript Template Thẻ bởi Sebastian Tschan: blueimp.github.com/JavaScript-Templates
Ricardo Carmo
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.