js中的location各种属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js中的location各种属性相关的知识,希望对你有一定的参考价值。

参考技术A URL 是: http://example.com:1234/test.htm#part2

location.hash-------------#part2

URL 是: http://example.com:1234/test.htm#part2

location.host------------example.com:1234

URL 是: http://example.com:1234/test.htm#part2:

location.hostname------------example.com

URL 是: http://example.com:1234/test.htm#part2:

location.href-------------http://example.com:1234/test.htm#part2

URL 是: http://example.com:1234/test/test.htm#part2:

location.pathname-------------/test/test.htm

URL 是: http://example.com:1234/test.htm#part2:

location.port-------------1234

URL 是: http://example.com:1234/test.htm#part2:

location.protocol-------------http:

URL 是: http://www.w3school.com.cn/tiy/t.asp?f=hdom_loc_search

location.search-------------?f=hdom_loc_search

Knockout.js 获取 location.href 对象的属性

【中文标题】Knockout.js 获取 location.href 对象的属性【英文标题】:Knockout.js get property of an object for location.href 【发布时间】:2021-07-08 07:06:42 【问题描述】:

我最近发现了 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 打开我的视图。

但是当我执行该操作时,网址变为:http://localhost:62677/Assets/Details/[object Object]

有什么想法可以正确地做到这一点吗?

谢谢!

【问题讨论】:

【参考方案1】:

假设asset.Id 是可观察的淘汰赛,试试这个

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

【讨论】:

【参考方案2】:

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

【讨论】:

以上是关于js中的location各种属性的主要内容,如果未能解决你的问题,请参考以下文章

js中window.location.search的用法和作用

js中window.location.search的用法和作用

js中window.location.search的用法和作用。

如何使用js获取修改URL

Knockout.js 获取 location.href 对象的属性

js中的常用函数