小编Jam*_*een的帖子

流星中的全局变量

我有

var Schemas = {};

Meteor.isClient && Template.registerHelper("Schemas", Schemas);

Schemas.Person = new SimpleSchema({
  fullName: {
    type: String,
    index: 1,
    optional: true,
  },
  email: {
    type: String,
    optional: true
  },
  address: {
    type: String,
    optional: true
  },
  isActive: {
    type: Boolean,
  },
  age: {
    type: Number,
    optional: true
  }
});
Run Code Online (Sandbox Code Playgroud)

在一个文件和

var Collections = {};

Meteor.isClient && Template.registerHelper("Collections", Collections);

Persons = Collections.Persons = new Mongo.Collection("Persons");
Persons.attachSchema(Schemas.Person);
Run Code Online (Sandbox Code Playgroud)

在另一个文件中.

我收到了错误ReferenceError: Schemas is not defined.很明显,我必须Schemas在我的collections.js文件中定义而不是将它们分开.但Meteor如何在单独的文件中使用代码?我可以访问一些对象和变量,而其他对象和变量是无法访问的.

javascript scope node.js meteor

28
推荐指数
2
解决办法
3万
查看次数

检查python中的值是否为零

我经常检查数字变量number是否有值,if number但有时数字可能为零.所以我解决了这个问题if number or number == 0.

我能以更聪明的方式做到这一点吗?我认为分别检查值是否为零有点难看.

编辑

我想我可以检查值是否为数字

def is_number(s):
    try:
        int(s)
        return True
    except ValueError:
        return False
Run Code Online (Sandbox Code Playgroud)

但是我仍然需要检查if number and is_number(number).

python python-3.x

23
推荐指数
2
解决办法
13万
查看次数

使输入字段看起来像bootstrap 3中的表格单元格

我在bootstrap 3中有一张表

<table class="table table-bordered table-condensed">
    <tbody>
        <tr>
           <td><input type="text" class="form-control" /></td>
           <td><input type="text" class="form-control" /></td>
           <td><input type="text" class="form-control" /></td>
           <td><input type="text" class="form-control" /></td>
           <td><input type="text" class="form-control" /></td>
           <td><input type="text" class="form-control" /></td>
        </tr>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

我可以使输入字段看起来像普通单元格吗?我希望输入字段填写整个单元格(没有输入边距也没有表格单元格填充).就像一个Excel电子表格,我有很多单元格,可以在每个单元格中写入.

html css html-table twitter-bootstrap twitter-bootstrap-3

19
推荐指数
2
解决办法
6万
查看次数

DOMContentLoaded事件中的代码无法正常工作

我用过

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8" />
</head>
<body>
  <button type="button" id="button">Click</button>
  <pre id="output">Not Loading...</pre>

  <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-standalone/6.17.0/babel.min.js"></script>
  <script type="text/babel">
    document.addEventListener('DOMContentLoaded', function () {
      const button = document.getElementById('button');
      const output = document.getElementById('output');

      output.textContent = 'Loading...';

      addEventListener('click', function () {
        output.textContent = 'Done';
      });
     });
  </script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

但似乎里面的代码document.addEventListener('DOMContentLoaded', function () {});没有加载.

如果我从我的代码中删除它,它突然工作.

在这里做了一个JS Bin.

javascript addeventlistener domcontentloaded babeljs

18
推荐指数
2
解决办法
3万
查看次数

找一个或用Mongoose创建

我有

Page.findById(pageId).then(page => {
  const pageId = page.id;
   ..
});
Run Code Online (Sandbox Code Playgroud)

我的问题是,如果没有给出页面ID,它应该只是在给定一些条件的情况下获取第一个可用页面,这是由完成的

Page.findOne({}).then(page => {
  const pageId = page.id;
  ..
});
Run Code Online (Sandbox Code Playgroud)

但如果没有找到任何页面,它应该创建一个新页面并使用它,这是完成的

Page.create({}).then(page => {
  const pageId = page.id;
  ..
});
Run Code Online (Sandbox Code Playgroud)

但是如何将所有这些组合成尽可能少的线?

我内心有很多逻辑

page => { ... }
Run Code Online (Sandbox Code Playgroud)

所以我非常想做到这一点,所以我可以避免这样做

if (pageId) {
  Page.findById(pageId).then(page => {
    const pageId = page.id;
     ..
  });
} else {
  Page.findOne({}).then(page => {
    if (page) {
      const pageId = page.id;
      ..
    } else {
      Page.create({}).then(page => {
        const pageId = page.id;
        ..
      });
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

我想我也许可以用类似的东西为模式分配一个静态 …

javascript mongoose mongodb node.js mongoose-schema

14
推荐指数
4
解决办法
2万
查看次数

使用JPanel创建一个Chess板

我有一个简单的棋盘在JPanelGridLayout(8,8)作为布局管理器.

我正在尝试为字段的列名和行号添加面板.

现在我已经创建了另一个面板BorderLayout作为布局管理器,在这个面板中我添加了板BorderLayout.CENTER.旁边的板本身我添加了一个面板GridLayout(0,8)BorderLayout.SOUTH和面板GridLayout(8,0)BorderLayout.WEST.行数完全放在电路板旁边,因为左侧JPanel中的行数与电路板中的行数相匹配,但列名称(A,B,C,D,E,F,G,H)在由于JPanel的原因,板下的JPanel放置不正确BorderLayout.WEST.

如何制作带侧板的合适棋盘以显示场地编号/名称?

我已经尝试将南面板的布局设置为GridLayout(0,9)第一个字段为空,但左面板的宽度不等于电路板中的每个字段,因此这不是一个好的解决方法.

java swing chess layout-manager grid-layout

12
推荐指数
1
解决办法
7万
查看次数

React Native中的全局状态

我正在开发一个React Native应用程序.

我想保存登录人员的用户ID,然后检查用户是否在每个组件中登录.

所以我要找的是饼干,会话或全球状态.

我已经读过我应该使用Redux,但这似乎过于复杂,并且很难使它工作react-navigation.它迫使我为几乎所有东西定义动作和缩减器,尽管我唯一想要的是能够访问所有组件中的单个全局状态/变量.

有没有其他选择,还是我应该重新构建我的整个应用程序以使用Redux?

javascript reactjs react-native redux react-redux

12
推荐指数
4
解决办法
1万
查看次数

检测React Native中的左侧滑动

如何在React Native中检测整个屏幕上的左侧滑动?

是否有必要使用PanResponder或者它可以更轻松一点吗?

javascript node.js reactjs react-native

12
推荐指数
5
解决办法
2万
查看次数

使用React和Redux从API获取特定于日期的结果

我想在使用Redux的React应用程序中显示一些新闻.

问题是我想显示个别日期的新闻,我想分页新闻.

在我的API我打印

{
  pagination: {
    count: 1000,
    size: 10,
    page: 1,
    pages: 100
  },
  news: [
    ..
  ]
}
Run Code Online (Sandbox Code Playgroud)

我知道如何进行简单的分页,但如果我希望能够在我的应用程序中显示不同日期的新闻,我不知道API应该如何工作.

到目前为止(没有日期),我刚刚保留了一个状态newspagination在我的Redux reducer中,然后检查页码是否等于总页数以确定是否应该尝试加载更多新闻.

但现在我可能有很多不同的日期,我想在Redux商店保留所有新闻,我不知道如何构建它.

我可以按原样保留我的API,因为使用GET参数进行过滤?date=15-09-2017只会减少API结果中的新闻数量.

但是仍然可以将所有新闻保存news在我的reducer 中的变量数组中,或者我是否必须将其构造成类似的东西

news: {
  '15-09-2017': {
    news: [...],
    pagination: {}
  },
  ...
}
Run Code Online (Sandbox Code Playgroud)

为了跟踪每个日期的分页?

javascript reactjs react-native redux react-redux

12
推荐指数
2
解决办法
677
查看次数

在Django中组合prefetch_related和annotate

我有三个型号

class ModelA(models.Model):
    name = CharField(max_length=100)

class ModelB(models.Model):
    modela = ForeignKey(ModelA)

class ModelC(models.Model):
    modelb = ForeignKey(ModelB)
    amount = IntegerField()
Run Code Online (Sandbox Code Playgroud)

我可以得到输出

name, number of model c objects
==============
Some name, 312
Another name, 17
Run Code Online (Sandbox Code Playgroud)

使用queryset

ModelA.objects.all().prefetch_related('modelb_set', 'groupb_set__modelc_set')
Run Code Online (Sandbox Code Playgroud)

和模板

{% for modela in modela_list %}
    {% for modelb in modela.modelb_set.all %}
        {{ modelb }}, {{ modelb.modelc_set.count }}
    {% endfor %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

我没有计算连接到每个ModelB对象的ModelC对象的数量,而是想要对ModelC中的amount字段求和.

我不知道如何结合prefetch_relatedannotate在我的查询集,但它必须是这样的

(ModelA.objects.all()
       .prefetch_related('modelb_set', 'groupb_set__modelc_set')
       .annotate(total_amount=Sum('modelc_set__amount')))
Run Code Online (Sandbox Code Playgroud)

django django-templates django-models django-queryset django-views

11
推荐指数
1
解决办法
9838
查看次数