发现流星显微镜分享按钮
Discover Meteor Microscope Share It Button
如何在 "Discuss" 按钮的左侧添加一个 "Share" 按钮。我希望该按钮与当前 "Discuss" 按钮相同 style/color。
我添加了来自 https://atmospherejs.com/joshowens/shareit
的包
我将 {{>shareit}} 添加到 post_item.html。
<template name="postItem">
<div class="post">
<a href="#" class="upvote btn btn-default {{upvotedClass}}">$</a>
<div class="post-content">
<h3>{{title}}</h3>
<p>
{{pluralize votes "Vote"}},
by {{author}},
<a href="{{pathFor 'postPage'}}">{{pluralize commentsCount "comment"}}</a>
{{#if ownPost}}<a href="{{pathFor 'postEdit'}}">Edit</a>{{/if}}
</p>
</div>
<a href="{{pathFor 'postPage'}}" class="discuss btn btn-default">Reply</a>
</div>
</template>
这是假设配置它。我是否将它放在 post.item.html 中?如果是这样,如何?我只想要推特按钮。
ShareIt.configure({
useFB: true, // boolean (default: true)
// Whether to show the Facebook button
useTwitter: true, // boolean (default: true)
// Whether to show the Twitter button
useGoogle: true, // boolean (default: true)
// Whether to show the Google+ button
classes: "large btn", // string (default: 'large btn')
// The classes that will be placed on the sharing buttons, bootstrap by default.
iconOnly: false, // boolean (default: false)
// Don't put text on the sharing buttons
applyColors: true // boolean (default: true)
// apply classes to inherit each social networks background color
});
这会进入 post_item.js 以启用任何图像卡吗?我不知道如何正确地输入它。
Template.article.helpers({
shareData: function() {
return {
title: this.data,
author: Meteor.users.findOne(this.authorId)
}
});
这是 post_item.js 文件。
Template.postItem.helpers({
ownPost: function() {
return this.userId == Meteor.userId();
},
upvotedClass: function() {
var userId = Meteor.userId();
if (userId && !_.include(this.upvoters, userId)) {
return 'btn-primary upvotable';
} else {
return 'disabled';
}
}
});
Template.postItem.events({
'click .upvotable': function(e) {
e.preventDefault();
Meteor.call('upvote', this._id);
}
});
所以你有一个模板:
<template name="postItem">
...
{{>shareIt shareData}}
</template>
这意味着您还有一个模板对象可以在某处匹配它:
Template.postItem
这可能包含在如下内容中:
if (Meteor.isClient) {
Template.postItem.helpers({
// your helper can hang out here:
shareData: function() {
return {
title: this.data,
author: Meteor.users.findOne(this.authorId)
};
};
});
// You can also put your ShareIt.configure here:
ShareIt.configure({
useFB: false,
useTwitter: true,
useGoogle: false,
classes: "large btn",
iconOnly: true,
applyColors: true
});
};
以上也只会显示推特图标。
现在将其放入哪个文件取决于您的应用程序结构。如果你有一个 post_item.js 并且它被发送到客户端(例如,它在你的项目的客户端文件夹中,或者它不在你的项目的不同的特殊用途文件夹中,如下所述:http://docs.meteor.com/#/full/structuringyourapp) 那么以上应该适合你。如果您遇到错误,请随时将其添加到问题中,以便我们提供帮助!
如何在 "Discuss" 按钮的左侧添加一个 "Share" 按钮。我希望该按钮与当前 "Discuss" 按钮相同 style/color。
我添加了来自 https://atmospherejs.com/joshowens/shareit
的包我将 {{>shareit}} 添加到 post_item.html。
<template name="postItem">
<div class="post">
<a href="#" class="upvote btn btn-default {{upvotedClass}}">$</a>
<div class="post-content">
<h3>{{title}}</h3>
<p>
{{pluralize votes "Vote"}},
by {{author}},
<a href="{{pathFor 'postPage'}}">{{pluralize commentsCount "comment"}}</a>
{{#if ownPost}}<a href="{{pathFor 'postEdit'}}">Edit</a>{{/if}}
</p>
</div>
<a href="{{pathFor 'postPage'}}" class="discuss btn btn-default">Reply</a>
</div>
</template>
这是假设配置它。我是否将它放在 post.item.html 中?如果是这样,如何?我只想要推特按钮。
ShareIt.configure({
useFB: true, // boolean (default: true)
// Whether to show the Facebook button
useTwitter: true, // boolean (default: true)
// Whether to show the Twitter button
useGoogle: true, // boolean (default: true)
// Whether to show the Google+ button
classes: "large btn", // string (default: 'large btn')
// The classes that will be placed on the sharing buttons, bootstrap by default.
iconOnly: false, // boolean (default: false)
// Don't put text on the sharing buttons
applyColors: true // boolean (default: true)
// apply classes to inherit each social networks background color
});
这会进入 post_item.js 以启用任何图像卡吗?我不知道如何正确地输入它。
Template.article.helpers({
shareData: function() {
return {
title: this.data,
author: Meteor.users.findOne(this.authorId)
}
});
这是 post_item.js 文件。
Template.postItem.helpers({
ownPost: function() {
return this.userId == Meteor.userId();
},
upvotedClass: function() {
var userId = Meteor.userId();
if (userId && !_.include(this.upvoters, userId)) {
return 'btn-primary upvotable';
} else {
return 'disabled';
}
}
});
Template.postItem.events({
'click .upvotable': function(e) {
e.preventDefault();
Meteor.call('upvote', this._id);
}
});
所以你有一个模板:
<template name="postItem">
...
{{>shareIt shareData}}
</template>
这意味着您还有一个模板对象可以在某处匹配它:
Template.postItem
这可能包含在如下内容中:
if (Meteor.isClient) {
Template.postItem.helpers({
// your helper can hang out here:
shareData: function() {
return {
title: this.data,
author: Meteor.users.findOne(this.authorId)
};
};
});
// You can also put your ShareIt.configure here:
ShareIt.configure({
useFB: false,
useTwitter: true,
useGoogle: false,
classes: "large btn",
iconOnly: true,
applyColors: true
});
};
以上也只会显示推特图标。
现在将其放入哪个文件取决于您的应用程序结构。如果你有一个 post_item.js 并且它被发送到客户端(例如,它在你的项目的客户端文件夹中,或者它不在你的项目的不同的特殊用途文件夹中,如下所述:http://docs.meteor.com/#/full/structuringyourapp) 那么以上应该适合你。如果您遇到错误,请随时将其添加到问题中,以便我们提供帮助!