gpt4 book ai didi

ember.js - Emberjs + Handlebars + Object onchange 和事件

转载 作者:行者123 更新时间:2023-12-01 04:05:50 25 4
gpt4 key购买 nike

我发现 jQuery 观察者没有绑定(bind)到 Handlebars 逻辑中未显示的元素。

假设我有以下内容;

{{#if person}}
Welcome back, <b>{{person.firstName}} {{person.lastName}}</b>!
{{else}}
Please <a class="login">log in</a>.
{{/if}}

<script>
$('.login').click(function() {
alert("Hi there.");
});
</script>

如果我在控制台中运行, person = null (或任何需要说服那个人是空的) - 登录观察者不起作用。我已经在使用 embers didInsertElement() 来加载其他一些东西,但是我可以 Hook 一个“onChange”事件,以便重新绑定(bind)事件观察者吗?

最佳答案

最大的问题是你为什么想要那个? Ember 对单击处理程序具有出色的内置支持,而无需通过 jQuery。你的原因<script>不起作用很可能是由于 ember 将 View 插入 DOM 的延迟方式。当你这样做 Ember.View.append()该元素稍后会插入到 DOM 中。

也就是说,这是一个 fiddle ,我认为你想要在 didInsertElement() 中附加 jQuery 点击处理程序.

http://jsfiddle.net/algesten/5LPPz/1/

didInsertElement: function () {
// appending click handler directly with jQuery
$('.login').click(function() {
alert("Hi there.");
});
}

然而, Ember 方法是只使用 click隐式处理函数:

http://jsfiddle.net/algesten/5LPPz/2/
click: function () {
alert("Hi there.");
}

注:后一个处理程序连接到周围的 Handlebars div而不是 a ,但点击气泡。

关于ember.js - Emberjs + Handlebars + Object onchange 和事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9458033/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com