Javascript 在foreach循环中使用$root值设置href

Javascript 在foreach循环中使用$root值设置href,javascript,knockout.js,href,Javascript,Knockout.js,Href,当试图绑定到$root.rootBaseUrl时,第一列td中的链接突然弹出 在第二个td列中,相同的rootBaseUrlobservable完美地打印出来 区别在于,在第一列td中,我试图在attr:中设置值 另外,请注意,在tbody级别上有一个foreach循环。因此使用了$root前缀 var rootBaseUrl=ko.observable(“”); var index=window.location.toString().indexOf(“风险订单”); var baseUR

当试图绑定到
$root.rootBaseUrl
时,第一列
td
中的链接突然弹出

在第二个
td
列中,相同的
rootBaseUrl
observable完美地打印出来

区别在于,在第一列
td
中,我试图在
attr:
中设置值

另外,请注意,在
tbody
级别上有一个
foreach
循环。因此使用了
$root
前缀


var rootBaseUrl=ko.observable(“”);
var index=window.location.toString().indexOf(“风险订单”);
var baseURL=window.location.toString().substring(0,索引);
this.rootBaseUrl(baseURL);

基本上,我在JS中获取当前浏览器URL,将其剥离到基本根URL,然后尝试将此静态URL添加到
href
绑定中,并使用动态
站点ID
值连接


这可能吗

attr
替换为
text
,了解您的问题:

函数Vm(){
var self=这个;
self.SiteID=ko.可观察(“AX123”);
}
函数RootVm(){
var self=这个;
var index=window.location.toString().indexOf(“风险订单”);
var baseURL=window.location.toString().substring(0,索引);
self.rootBaseUrl=ko.observable(“”);
self.SiteName=ko.observable(“我的网站”);
self.rootBaseUrl(baseURL);
self.SiteList=ko.observearray([new Vm()]);
}
applyBindings(newrootvm())


对于第一个
td
它应该在
$root.rootBaseUrl
中有一个
()
。所以它将是
{href:$root.rootBaseUrl()+SiteID}
,如果
SiteID
也是一个可观察的,那么它应该有
()
“spazzes out”甚至是什么意思?请说得准确一点(并且认为读者可能不是不懂这种俚语的以英语为母语的人)。另外,您有90%的工作样本可能会证明问题,为什么要到此为止?输入缺少的10%,以便在单击“运行代码片段”按钮时实际发生一些事情。@tomalak-完全同意您的意见。这是一个长期卡住,是深夜和非常累,当我张贴这一点。谢谢你的留言。下次记得。问一个足够好的问题,以便将来的读者能从中受益,这是你的责任。你永远不知道你通过付出额外的努力来挽救谁的日子。是的,是$root.rootBaseUrl()。。。之后我需要这个()。但我昨天肯定试过了。今天早上,我一块一块地重新构建了代码,直到它开始工作。也许我的缓存在调试期间没有被清除,我不知道。感谢您的回复,谢谢!