模板的就绪事件

Ready event for templates

在 JsViews 中,我可以通过以下方式绑定事件:

<li id="myElement" data-link="{on 'click' eventHandler}">Some Content</li>

这将在点击后执行方法"eventHandler"。 但是我需要一个在加载模板时触发的事件。我尝试了 "ready" 或 "show",但没有任何效果。有没有可以处理这个的事件?

{on xxx eventHandler}handles events on HTML elements,比如鼠标事件,submit,change,blur等

使用 JsViews,模板的加载直接作为您自己的代码调用 link 方法的结果。因此,呈现模板中的元素将在该调用期间呈现,并且在您可以 运行 在呈现和链接之后立即调用您想要调用的任何代码,例如使用 jQuery 找到您的 <li>元素,作用于元素

JsViews 还提供了许多 life-cycle events on tags,因此如果您愿意,可以创建一个自定义标签来处理这些事件:

例如,尝试 运行使用以下代码:

<span id="result"></span>

<script>
var data = {};

$.views.tags("test", {
  attr:"none",
    render: function(data) {
      debugger;
    },
    onBind: function(tagCtx, linkCtx) {
      var elem = this.parentElem;
      elem.textContent += " added text";
    }
  });

  var myTmpl = $.templates('<ul><li id="myElement" data-link="{test}">Some Content</li></ul>');

myTmpl.link("#result", data);

$("#myElement").css('color', 'red');
</script>

您可以使用 onload 事件:-

https://www.w3schools.com/jsref/event_onload.asp

并将其附加到模板本身。如果您的选择有限或需要以特定方式进行,请解释用例以及为什么要以特定方式进行操作,我们会尽力提供帮助。 祝一切顺利,

菲尔