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()。。。之后我需要这个()。但我昨天肯定试过了。今天早上,我一块一块地重新构建了代码,直到它开始工作。也许我的缓存在调试期间没有被清除,我不知道。感谢您的回复,谢谢!