我正在使用作为模板 HotTowel 构建一个 mvc 应用程序(你知道,durandal,淘汰赛,微风等)。该应用程序尚未准备好,但我们正在取得良好进展:)。在一个功能的中间,我需要构建一个对 javascript 函数的动态调用。使用硬编码值的调用类似于:
<a href="#" id="openreport"
onclick="showReport('@Url.Action("Index","Report", new { Id= 9, languageId = 2})');">Show
report</a>
上面的调用工作正常。当我尝试使用 knockoutjs 将 onclick 事件绑定到字符串属性时,我的麻烦就开始了。像这样的东西:
<a href="#" id="openReport" data-bind="onclick: $root.reportUrl()" >
Show report
在哪里报告 url 它是一个可观察的变量。这里是打字稿代码:
export var reportUrl =<any> ko.observable();
export var expandRow = function (myObjectComeFromATable) {
var urlAction = '@Url.Action("Index", "Report", new { Id= ID_TO_REPLACE, languageId = LANG_TO_REPLACE }) ';
var url = "showReport('"+urlAction+"');";
reportUrl(url);
};
更新 使用引号很好。淘汰变量的值与之前显示的硬代码值相同。也许这是我的 sintaxis 在布局中的问题?