我看到在mongodb中存储布尔信息的三种主要可能性:
在使用的存储空间和查询速度方面,每种方法的优点/缺点是什么?
我有需要循环的JSON数据.数据位于标题为"people.json"的文件中,其结构如下所示:
[{"firstname":"John","lastname":"Smith","age":"40"},{"firstname":"Bill","lastname":"Jones","age":"40"}, ...]
Run Code Online (Sandbox Code Playgroud)
我想读取这个文件中的每个对象并保存它(我使用的是Mongoose).这是我到目前为止:
var fs = require('fs');
var Person = require('../models/people');
fs.readFile('./people.json', 'utf8', function (err,data) {
var i;
for(i = 0; i < data.length; i++) {
var newPerson = new Person();
newPerson.firstname = data[i].firstname;
newPerson.lastname = data[i].lastname;
newPerson.age = data[i].age;
newPerson.save(function (err) {});
}
});
Run Code Online (Sandbox Code Playgroud)
我不能让这个工作.我究竟做错了什么?
我试图使用ng-repeat包括一个ng-include.问题是ng-repeat中的第一个元素只是ng-include模板,没有ng-repeat填充的数据.有没有办法可以以某种方式绑定模板,ng-include所以它适用于第一个ng-repeat?
<div ng-repeat="item in items">
<div ng-include src="'views/template.html'"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
例如,如果我ng-repeat包含10个项目,那么渲染的第一个项目将只是空模板.第2-10项将按原样呈现.我究竟做错了什么?
我有一个插入的模板,ng-include该模板也有一个ng-include.内部ng-incude没有显示.为什么?
主要模板:
<div ng-include src="'views/outer.html'"></div>
Run Code Online (Sandbox Code Playgroud)
意见/ outer.html:
<div ng-repeat="item in items">
// Stuff
<div ng-include src="'views/inner.html'"></div> // not being shown
// More stuff
</div>
Run Code Online (Sandbox Code Playgroud) 当我对angularjs应用程序进行更改时,会出现一个反复出现的问题.问题是如果我想对我所做的更改进行播种,我必须刷新页面.这是一个问题,因为我不希望我的用户必须刷新页面(他们可能不知道这样做).他们可能认为该网站已被破坏.我可以遵循某种角度指令或流程,这样我的UI更改就可以反映在我的生产服务器上而无需用户刷新页面吗?
我的网站上有一个由下拉菜单控制的下拉菜单ng-show.当用户点击按钮时,他们会看到下拉列表.当他们再次点击时,隐藏下拉列表:
<div class="button" ng-click="show = !show">Click Me</div>
<div ng-show="show" ng-init="show = false">
<div>You can see me now!</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这很好用.但是,show如果用户点击窗口中不是带有"按钮"类的div的任何地方,我想要的是设置为false.我怎样才能做到这一点?
我有一些情况需要将项目添加到最初使用的列表中ng-repeat.我该怎么做呢?
<div ng-click="prependItem()>Click Here</div>
<div ng-repeat="item in items">
<div class="someClass">Item name: {{item.name}}</div>
<div class="anotherClass">Item type: {{item.type}}</div>
</div>
Run Code Online (Sandbox Code Playgroud)
如果我点击prependItem()我想要将新项目添加到列表顶部.显然,我不想重建整个ng-repeat.我一直无法找到任何可以解释如何执行此操作的文档.提前感谢您的帮助!
我刚刚开始使用 gulp.js,我想知道是否有办法从我的 HTML 文件中去除注释。当然,我不希望从原始文件中删除注释,只删除那些将在生产中的注释。假设我有一个这样的文件:
index.html // 在吞咽之前
<html>
<!-- Some comments -->
<!-- Some more comments -->
<div>
// some stuff
</div>
</html>
Run Code Online (Sandbox Code Playgroud)
index.html // 吞咽后
<html>
<div>
// some stuff
</div>
</html>
Run Code Online (Sandbox Code Playgroud)
我的部分问题是我不确定这应该如何工作。我是否想把我所有的 HTML 文件(删除了注释)放在一个单独的目录中,然后只将它推送到我的服务器上?我仍然希望评论存在于我的测试环境(和我的存储库)上的 HTML 文件中,而不是存在于生产环境的文件中。任何有助于我理解如何做到这一点的帮助将不胜感激!
我$http在一个应该从我的服务器获取数据的服务中进行调用.出于某种原因,我无法让我的服务工作 - 没有任何反应.我知道服务器代码有效,因为如果我将$http调用放在我的控制器中的函数内,那么它会按预期获取服务器数据.这是我到目前为止的代码:
app.service('myService', function($q,$compile,$http) {
this.getData = function() {
var deferred = $q.defer();
var promise = $http.get('myfile.php').success(function (data) {
var response = $compile(data)($scope);
deferred.resolve(response);
});
return deferred.promise;
};
});
Run Code Online (Sandbox Code Playgroud)
此外,我知道使用此服务的代码是有效的,因为如果我执行以下操作,
app.service('myService', function() {
this.getData = function() {
return 'TEST';
};
});
Run Code Online (Sandbox Code Playgroud)
然后我会看到"TEST"这个词出现在利用这项服务的div中.我觉得我非常接近,但有一些我想念的东西.关于我做错了什么的任何想法?
更新:
controller: function($scope, $http, $rootScope, myService){
var scope = $rootScope;
scope.viewMyData = function() {
var element = myService.getData();
$('#myDiv').html(element);
}
}
Run Code Online (Sandbox Code Playgroud)
HTML:
<div ng-click="viewMyData()">Click Here</div>
<div id="myDiv"></div>
Run Code Online (Sandbox Code Playgroud)
如果我删除代码myService并简单地返回TEST(如上所述),那么我将看到"TEST"显示在id="myDiv" …