如果我有两个模式,如:
var userSchema = new Schema({
twittername: String,
twitterID: Number,
displayName: String,
profilePic: String,
});
var User = mongoose.model('User')
var postSchema = new Schema({
name: String,
postedBy: User, //User Model Type
dateCreated: Date,
comments: [{body:"string", by: mongoose.Schema.Types.ObjectId}],
});
Run Code Online (Sandbox Code Playgroud)
我尝试将它们连接在一起,就像上面的例子,但我无法弄清楚如何做到这一点.最终,如果我可以做这样的事情,那将使我的生活变得非常轻松
var profilePic = Post.postedBy.profilePic
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用d3.js创建动画条形图.我希望条形图像这个例子http://nvd3.com/ghpages/multiBar.html一个一个地出现.我能够创建一个类似的行为但是动作从条形的高度开始将条形建立在x轴上,但是我希望动画从x轴开始并像示例那样转到条形的高度.
很多我的代码的简化版本:http: //jsfiddle.net/gorkem/ECRMd/
任何帮助将非常感激
假设我有两个视图(paginationview和postsview)和一个集合(postscollection).每当在分页视图中单击.next按钮时,我调用postscollection中的下一个函数,post集合从服务器获取新页面的帖子(代码被简化).现在在我的帖子视图中,我只想显示最后一页中的帖子.我不想将我的视图绑定到集合中的"add"事件,因为有更多的情况会将某些内容"添加"到集合中.我希望我的postsview中的'renderlist'功能只在我的postscollection中调用'nextPage'函数时被调用.如何将这些功能连接在一起?
//分页视图
var PaginationView = Backbone.View.extend({
events:{
'click a.next' : 'next',
},
next: function() {
this.collection.nextPage();
return false;
}
});
Run Code Online (Sandbox Code Playgroud)
//集合
var PostsCollection = Backbone.Collection.extend({
model: model,
initialize: function() {
_.bindAll(this, 'parse', 'url', 'pageInfo', 'nextPage', 'previousPage');
this.page = 1;
this.fetch();
},
parse: function(response) {
console.log(response);
this.page = response.page;
this.perPage = response.perPage;
this.total = response.total;
this.noofpages =response.noofpages;
return response.posts;
},
url: function() {
return '/tweet/' + '?' + $.param({page: this.page});
},
nextPage: function() {
console.log("next page is called");
this.page = this.page …Run Code Online (Sandbox Code Playgroud) 我正在尝试实现类似于stackoverflow或reddit的投票系统,其中只允许用户在给定帖子上投票一次.
遵循这里给出的建议
我创建了两个模式来存储upvotes和downvotes.对于每个用户,我都会跟踪用户投票的帖子.
发布架构:
var postSchema = new Schema({
name: String,
votes: Number,
votetype: Number,
postedBy: { type: String, ref: 'User' },
});
Run Code Online (Sandbox Code Playgroud)
用户架构:
var userSchema = new Schema({
twittername: String,
twitterID: Number,
votedPosts : [{ _id : mongoose.Schema.Types.ObjectId , votetype: Number }]
});
Run Code Online (Sandbox Code Playgroud)
取决于每个柱都将有一个不同的视图中的当前用户,如果用户已表决的给予好评按钮或downvote按钮之前柱将是橙色(类似于计算器),所以我有以下(简化的)主链帖子模型:
var PostModel = Backbone.Model.extend({
urlRoot : '/tweet',
idAttribute: '_id',
defaults:{
name: '',
votes: 0,
votetype: 0,
postedBy : '',
},
upvote: function(){
this.set ({votetype : 1 }, {votes : this.get('votes') + 1});
this.save();
$.ajax({ …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个带有时间刻度的条形图,可以放大到任何时间段.我能够为我的x轴(时间刻度)创建缩放功能,但是我的数据(在这种情况下是rects)不会随着我的轴一起变焦.
这是我的图表的简化版本:http://jsfiddle.net/gorkem/Mf457/5/embedded/result/ 正如您所看到的,我可以放大到我的x轴,但条形不会放大.
这里是jfiddle链接:http://jsfiddle.net/gorkem/Mf457/6/
var y = d3.scale.linear().domain([0, max_val]).range([graph_height, 0]);
var x = d3.time.scale().domain([minDate, maxDate]).range([0, graph_width]);
var chart = d3.select(location).append("svg")
.attr("class", "chart")
.attr("width", graph_width+20)
.attr("height", graph_height+20)
.call(d3.behavior.zoom().x(x).scaleExtent([1, 8]).on("zoom", zoom));
var lines = chart.selectAll("line");
var lines_y = lines
.data(x.ticks(5))
.enter().append("line")
.attr("x1", x)
.attr("x2", x)
.attr("y1", function (d) {return graph_height - 20 - d;})
.attr("y2", graph_height)
.style("stroke", "#ccc");
var lines_x = lines
.data(y.ticks(10))
.enter().append("line")
.attr("x1", 0)
.attr("x2", graph_width)
.attr("y1", y)
.attr("y2", y)
.style("stroke", "#ccc");
xAxis = …Run Code Online (Sandbox Code Playgroud) 自从UIViewControllerAnimatedTransitioning协议在IOS 7中可用以来,我就在viewController之间遇到了非常酷的过渡。最近,我注意到Intacart的IOS应用程序中一个特别有趣的过渡。
这是我正在慢动作谈论的动画:https : //www.dropbox.com/s/p2hxj45ycq18i3l/Video%20Oct%2015%2C%207%2023%2059%20PM.mov?dl=0
首先,我认为它类似于作者在本教程中介绍的内容,并带有一些额外的淡入和淡出动画:http : //www.raywenderlich.com/113845/ios-animation-tutorial-custom-view-控制器表示转换
但是,如果您仔细观察一下,似乎随着第一个viewController淡出,产品图像在两个viewController之间转换。我认为有两个viewControllers的原因是,当您向下滑动新视图时,仍然可以看到其后的原始视图,而无需更改布局。
也许两个viewController实际上具有产品图像(不淡出),并且以某种精确度同时进行动画制作,其中一个淡入淡出,而另一个淡出。
您认为那里到底发生了什么?
如何编程看起来像图像在两个viewController之间共享的过渡动画?
我希望能够运行一个临时的 python 脚本,该脚本可以访问并在 dbt 运行计算的模型上运行分析,是否有关于此的最佳实践?
每当我将新模型添加到我的集合中时,我都会尝试更新我的视图.我的第一个问题是,当我保存该模型时,我会自动将模型添加到我的集合中,例如:
PostsApp.Views.Form = Backbone.View.extend({
template: _.template($('#form-template').html()),
render: function(){
this.$el.html(this.template(this.model.toJSON()));
},
events:{
'click button' : 'save'
},
save: function(e){
console.log("is this working");
e.preventDefault();
var newname = this.$('input[name=name-input]').val();
var newadress = this.$('input[name=adress-input]').val();
this.model.save({name: newname, adress : newadress});
}
});
Run Code Online (Sandbox Code Playgroud)
还是我还要做collection.add()
除了在我的视图中看到新模型,我试图添加这样的'添加'事件监听器:
PostsApp.Views.Posts = Backbone.View.extend({
initialize: function(){
this.collection.on('add', this.addOne, this);
},
render: function(){
this.collection.forEach(this.addOne, this);
},
addOne: function(post){
var postView = new PostsApp.Views.Post({model:post});
postView.render();
this.$el.append(postView.el);
}
});
Run Code Online (Sandbox Code Playgroud)
这不仅不起作用,而且当我添加初始化方法时,它只是在首次加载页面时复制模型中的所有内容.
javascript jquery backbone.js backbone-events backbone.js-collections
我正在尝试使用 pdfminer 命令行工具将 pdf 文件转换为 html 文件,运行后
pdf2txt.py -o output.html -t html casino.pdf
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Traceback (most recent call last):
File "/usr/local/bin/pdf2txt.py", line 101, in <module>
if __name__ == '__main__': sys.exit(main(sys.argv))
File "/usr/local/bin/pdf2txt.py", line 87, in main
layoutmode=layoutmode, laparams=laparams, outdir=outdir)
TypeError: __init__() got an unexpected keyword argument 'outdir'
Run Code Online (Sandbox Code Playgroud)
我以前使用过这个库,它工作得很好,我真的很难理解发生了什么
这是库的链接http://www.unixuser.org/~euske/python/pdfminer/index.html
让我说我的posts数组中的每个帖子都有两个属性名称和数字.所以它的东西就像
var posts = [{name:"hey", number: 1}, {name:"foo", number:"2"}]
Run Code Online (Sandbox Code Playgroud)
Javascript允许我在foreach循环中更改这些属性,如下所示:
posts.forEach(function(post){
post.name = "bar"
});
Run Code Online (Sandbox Code Playgroud)
我的数组变成:
var posts = [{name:"bar", number: 1}, {name:"bar", number:"2"}]
Run Code Online (Sandbox Code Playgroud)
但它不允许我添加一个新属性,如:
posts.forEach(function(post){
post.adress = "bar"
});
Run Code Online (Sandbox Code Playgroud)
我的对象保持不变.有没有办法在javascipt中的foreach循环中添加属性
编辑:
这是在回调中使用mongoose发生的.
Post.pagination(options, function(err, posts) {
if (err) console.log(err)
posts.forEach(function(post){
post.votetype = 1;
});
console.log(posts);
res.send({ posts : posts })
})
Run Code Online (Sandbox Code Playgroud)
在这个votetype属性没有添加之后
javascript ×4
backbone.js ×3
mongoose ×3
bar-chart ×2
d3.js ×2
mongodb ×2
python ×2
animation ×1
dbt ×1
ios ×1
jquery ×1
node.js ×1
objective-c ×1
transitions ×1
zooming ×1