我正在使用Knockoutjs在模板上动态渲染锚标记。
我的HTML模板如下所示:
<!-- ko if: [observable condition] -->
<li>
<a data-bind="attr: { href: ChangeLogUrl }">View change log</a>
</li>
<!-- /ko -->
最初渲染视图时,不满足条件,因此不会显示锚标记。
当满足条件 时,将呈现锚标记。我可以检查页面的HTML,一切都符合预期,href
属性正确形成。将鼠标悬停在链接上会显示浏览器窗口左下角的URL。
但是,点击该链接无效。
我可以在同一个title
绑定中添加attr: {...}
属性,并显示 ;我甚至可以添加onclick
这样的属性:
<a data-bind="attr: { onclick: 'javascript:alert(\'hello world\');' }">
当我点击锚标签时,这也会按预期运行。
此外,HTML模板也在使用相同视图模型的另一个视图中使用,但在这种情况下,在最初呈现视图时满足条件 ,在这种情况下,锚标记 可点击。
那么为什么href
属性在动态渲染时没有效果呢?