gpt4 book ai didi

javascript - 使用 ember.js 进行社交分享

转载 作者:行者123 更新时间:2023-11-28 20:17:06 29 4
gpt4 key购买 nike

我有使用 ember.js 制作的单页应用程序,但在实现社交共享时遇到了一些问题。

我需要在 hbs 模板中实现这样的内容:

<a href="http://someaddres.com?u={{model.url}}&title={{model.title}}">Link</a>

但是,当将其呈现到浏览器中时,href 字符串中会连接其他脚本标记,最终链接有效,我被重定向,但我得到的标题是这样的:

<script id='metamorph-190-start' type='text/x-placeholder'></script>
MyTitle
<script id='metamorph-19...

我只需要 MyTitle。

更具体地说,我使用以下 hbs 模板进行 facebook 共享,该模型已初始化到路由器中:

<a href="https://www.facebook.com/login.php?next=http%3A%2F%2Fwww.facebook.com%2Fsharer%2Fsharer.php%3Fs%3D100%26p%255Btitle%255D%3D{{model.title}}%26p%255Burl%255D%3D{{model.url}}%26p%255Bsummary%255D%3D{{model.summary}}%26p%255Bimages%255D%255B0%255D%3D%2540Model.EventImage%2527%253EShare&display=popup"
target="_blank">
<img src="http://www.simplesharebuttons.com/images/somacro/facebook_img.png" alt="Facebook" />
</a>

我还尝试了第三方库,例如 janrain、ShareThis 或 AddThis,但使用它们时我遇到了初始化问题,按钮在放入模板时根本不显示,并且模型中的消息自定义也存在问题。

谢谢,伊戈尔

最佳答案

方法 1 - 使用未绑定(bind)

要摆脱模型值周围的变形标签,请尝试使用 unbound 选项来实现这一点:

<a href="http://someaddres.com?u={{unbound model.url}}&title={{unbound model.title}}">Link</a>

方法 2 - 计算 URL

如果您需要绑定(bind)模型属性并在模型更改时重新评估,那么采用不同的方法可能会更好,例如在备份模板的 Controller 中生成 URL。

假设您的 Controller 是例如ApplicationController 和链接位于相应的 application 模板中,那么您可以执行以下操作:

App.ApplicationController = Ember.ObjectController.extend({
url: function() {
var url = this.get('model.url');
var title = this.get('model.title');
// grab here as many properties you need from your model
var href = 'http://someaddres.com?u=%@&title=%@'.fmt(url, title);
return href;
}.property('model')
});

然后在模板中使用计算出的 url 属性,如下所示:

<a {{bind-attr href=url}} target="_blank">Link</a>

希望有帮助。

关于javascript - 使用 ember.js 进行社交分享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19046526/

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