Knockout.js获取位置.href的对象的属性

c90pui9n  于 2022-11-10  发布在  其他
关注(0)|答案(2)|浏览(172)

我最近发现了Knockout,我正在努力获取foreach中对象的属性:
下面是我的代码:

<table class="table">
<thead>
    <tr>
        <th>Name</th>
        <th>Created By</th>
    </tr>
</thead>
<tbody data-bind="foreach: assets">
    <tr class="assets" data-bind="click: $parent.detailPage">
        <td>
            <span data-bind="text: FileName"></span>
        </td>
        <td>
            <span data-bind="text: CreatedBy"></span>
        </td>
    </tr>
</tbody>

和我的脚本:

<script>
function ViewModel(assets) {
    var self = this;

    self.assets = assets;

    self.detailPage = function (asset) {
        location.href = '@Url.Action("Details", "Assets")/' + asset.Id;
    };
};

var jsonModel = new ViewModel(@Html.Raw(Json.Encode(Model)));
var viewModel = ko.mapping.fromJS(jsonModel);
ko.applyBindings(viewModel);

在我的资产中,我有一个id,我想使用我单击的对象的id打开我的视图。
但是当我执行时,url变成:http://localhost:62677/资产/详细信息/[对象对象]
有什么好办法吗?
谢谢你!

5kgi1eie

5kgi1eie1#

假设asset.id是一个可观察的淘汰项,尝试以下操作

self.detailPage = function (asset) {
        location.href = '@Url.Action("Details", "Assets")/' + asset.Id();
    };
7kqas0il

7kqas0il2#

看起来asset.id是一个对象。请尝试调查为什么它是对象而不是某个数字或字符串。

相关问题