簡體   English   中英

如何訪問在挖空中使用$ data映射的對象?

[英]How to access the object mapped using $data in knockout?

我正在使用敲除屬性映射將Subjects對象映射到li元素,如下所示。

<ul class="nav nav-pills nav-stacked" id="subjects">
    <!-- ko foreach:Subjects -->
    <li data-bind='attr:{"data-event":$data}'>
        <a href="#" data-bind='text:subject_name + " by " + teacher_name;'>
        </a>
    </li>
    <!-- /ko -->
</ul>

之后,我必須使用JQuery方法訪問主題對象。

var originalEventObject = $(element).data('event');

注意: “元素”在此處正確。 代碼在循環內,不想在這里有完整的代碼而使問題復雜化。

但是總是將字符串作為[Object Object]而不是真正的JSON。 請幫我。

通常,以這種方式訪問​​數據不是一個好習慣。 在拖放的情況下,取決於您是否克隆元素。 但是,如果您使用克隆,則可以在拖曳啟動時對此進行操作。 只需在可拖動中覆蓋“ helper”功能即可。 然后,如果需要,可以使用jQuery放置此數據:

  • ko.dataFor

  • ko.contextFor

jsfiddler

$(function() {
var model = {
    Subjects: [{text:'first'}, {text: 'second'}]
};
ko.applyBindings(model);
$('#result').text(JSON.stringify(ko.dataFor($('li')[0])));

});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM