小编zor*_*rza的帖子

AngularJS风格指南 - Todd Motto vs John Papa vs Minko Gechev

我是Angular的新手,我想从一开始就学习好的做法.我遇到过三个Angular风格指南,它们看起来都很棒.我想知道哪一个最适合我采用,但由于我对大型Angular应用程序没什么经验,所以我无法成为其中的评判者.

那么哪一个最好?或者即使不是更好,那么在开发过程中更直观/更少的问题?也许你们中的一些人对所有人都有经验并且可以指出他们的利弊?

链接:

javascript coding-style angularjs

46
推荐指数
2
解决办法
1万
查看次数

Flask-RESTful - 不返回object属性而不是返回null

假设我有一个包含id,nameemail字段的客户表.一个电子邮件字段是可选的.

代码如下所示:

client_fields = {
   'id' : fields.String,
   'name' : fields.String,
   'email' : fields.String
}
Run Code Online (Sandbox Code Playgroud)

并用于显示:

class ClientList(Resource):
    @marshal_with(client_fields)
    def get(self):
       return model.Client.query.all()
Run Code Online (Sandbox Code Playgroud)

如果未提供电子邮件,API会返回JSON,如下所示:

{
   "id": "1",
   "name": "John Doe",
   "email": null
}
Run Code Online (Sandbox Code Playgroud)

但相反,我希望它返回此对象:

{
   "id": "1",
   "name": "John Doe"
}
Run Code Online (Sandbox Code Playgroud)

这基本上意味着我不希望它返回任何这样的属性,而不是具有null值的属性.有没有办法实现这一目标?

python null json python-2.7 flask-restful

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

传递POST数据时,jQuery在新选项卡中打开页面

我有一个名为"list"的javascript变量.我需要将其作为POST数据发送到另一个页面,并在新选项卡中打开该页面(存在POST数据).

这段代码:

jQuery.post('datadestination.php', list);
Run Code Online (Sandbox Code Playgroud)

发送数据是正确的,但是当然它会在同一个标​​签页面中打开页面.

我看到使用隐形形式和类似问题的类似问题的一些解决方案,但我无法让它们工作.有没有简单的解决方案?

javascript php jquery

16
推荐指数
3
解决办法
4万
查看次数

有条件地根据另一个变量设置一个变量的值

我有一个名为Less变量的变量@side.我想要的是@sideOpposite根据变量的值设置@side变量.它只需要两个值:"left"或"right".

换句话说,我需要一个相当于JS代码的Less:

var side = "left",
    sideOpposite = (side === "left")? "right" : "left";
Run Code Online (Sandbox Code Playgroud)

我试图使用when函数完成此操作,但据我所知,它不能以这种方式工作,只适用于CSS属性,而不适用于变量:

when (@side = right){
  @sideOpposite: left;
}
when (@side = left){
  @sideOpposite: right;
}
Run Code Online (Sandbox Code Playgroud)

less less-mixins

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

Apache Velocity中的小写首字母

我有这个代码,它将"点"字符串转换为WebStorm文件模板中的camelCase:

#set($Controller_name = ${StringUtils.removeAndHump(${NAME}, ".")})
Run Code Online (Sandbox Code Playgroud)

例如,它转换foo.bar.testFooBarTest.

但我需要的是将其转换foo.bar.testfooBarTest.

我怎样才能做到这一点?

velocity jetbrains-ide webstorm

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

使用多个参数组合 javascript 函数

如何将此函数组合转换为更易读的格式?

funcA(argumentA, funcB(argumentA, funcC(argumentA, argumentB)))
Run Code Online (Sandbox Code Playgroud)

我想要实现的是更像这样的东西:

compose(funcC, funcB, funcA)(argumentA, argumentB)
Run Code Online (Sandbox Code Playgroud)

我正在使用这个 compose 函数实现:

const compose = (...fns) => fns.reduce((f, g) => (...args) => f(g(...args)))
Run Code Online (Sandbox Code Playgroud)

问题是我在所有函数调用中都需要参数 A 作为第一个参数,每个函数返回一个值作为第二个参数传递给下一个函数。我知道我可以创建单独的函数返回函数并像这样使用它们:

compose(funcCWithArg(argumentA), funcBWithArg(argumentA), funcAWithArg(argumentA))(argumentB)
Run Code Online (Sandbox Code Playgroud)

但在我的实际情况中,不仅有三个,而且还有更多,这需要大量的代码才能将它们写下来。有没有更简单的方法来做到这一点?

编辑:我不能使用任何外部库。只有香草js。

javascript functional-programming ecmascript-6

6
推荐指数
1
解决办法
1642
查看次数

如何在二维数组中选择具有相同值的相邻字段

我有一个填充了一些数据的二维数组。我想选择与字段 [0][0] 具有相同值的所有字段,并按照下图所示的方式连接到该字段:

突出显示的字段

我想要选择以绿色突出显示的字段的矩阵示例(所选字段至少有四个边(N、W、S、E)之一彼此相邻:

你能想出一些简单的算法来实现这一点吗?我不希望有一些现成的代码 - 更像是一些指南。

javascript recursion

5
推荐指数
1
解决办法
1084
查看次数

从旁边显示的模块访问Joomla 3.2文章标题

我正在写一个Joomla!我需要显示当前文章标题的模块.

我已经在stackoverflow上找到了这个代码:

<?php
$option = JRequest::getCmd('option');
$view = JRequest::getCmd('view');
$ids = explode(':',JRequest::getString('id'));
$article_id = $ids[0];
$article =& JTable::getInstance("content");
$article->load($article_id);
echo $article->get("title");
?>
Run Code Online (Sandbox Code Playgroud)

虽然它有效,但它使用了弃用的类JRequest,因为它来自Joomla 1.7而我使用的是3.2.2.有人能告诉我如何重写它以使Joomla 3.2有效吗?

php joomla joomla-module joomla3.0

5
推荐指数
1
解决办法
5202
查看次数

使用ControllerAs语法的Firebase 3路数据绑定

我想通过firebase和angularfire获得3路数据绑定.你可以看到我在Plunker里得到的东西:http://plnkr.co/edit/RGA4jZK3Y6n4RkPCHK37

app.js:

angular.module('ideaBattle', ["firebase"]);
Run Code Online (Sandbox Code Playgroud)

服务:

angular
    .module('ideaBattle')
    .constant('FBURL', 'https://ideabattle.firebaseio.com/')
    .service('Ref', ['FBURL', Firebase])
    .factory('dataBank', function(Ref, $firebase) {
        return $firebase(Ref).$asArray();
    });
Run Code Online (Sandbox Code Playgroud)

控制器:

angular
    .module('ideaBattle')
    .controller('ideaListCtrl', displayIdeas);

displayIdeas.$inject = ['dataBank'];
function displayIdeas(dataBank){
    var vm = this;
    vm.ideas = dataBank;

    vm.upVote = function(idea){
        vm.ideas[idea.id].votes++;
    };
}
Run Code Online (Sandbox Code Playgroud)

HTML:

<div ng-controller="ideaListCtrl as vm">
    <div ng-repeat="idea in vm.ideas | orderBy: '-votes'">
        <div>
            <h2>{{idea.name}}</h2>
            <p>{{idea.desc|limitTo: 190}}</p>
            <span class="btn" ng-click="vm.upVote(idea)">Vote! <span class="badge"> {{idea.votes}}</span></span>
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

Plunker版本:http://plnkr.co/edit/RGA4jZK3Y6n4RkPCHK37

它做什么,它从firebase获取数据并正确显示它,但是当我按下按钮来调用upVote函数时,它只在本地更新.我知道为什么它只在本地工作,但我不知道如何使它也在firebase中更新.

我试着$ bindTo,但是从我的理解它需要$范围工作,我试图用"控制器作为虚拟机"模式,而无需进$范围.

谁能告诉我怎么咬那个?

javascript angularjs firebase angularfire

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

存储在文档字段中的数组上的分页

假设我在mongo数据库中有一个人物集合:

[{
    id: 1,
    name: "Tom",
    animals: ["cat", "dog", "fish", "bear"]
},
{
    id: 2,
    name: "Rob",
    animals: ["shark", "snake", "fish", "bear", "panda"]
},
{
    id: 3,
    name: "Matt",
    animals: ["cat", "fish", "bear"]
}]
Run Code Online (Sandbox Code Playgroud)

出于REST API的目的,我需要创建一个用于查看人物动物的分页系统,并且每个请求仅返回3个.因此,例如,如果你去/people/2API应该返回这个数组:

["shark", "snake", "fish"]
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用Mongo方法获得此结果.这是我的尝试:

db.getCollection('people').find({id: 2}, {animals: 1, _id:0}, {limit: 3})
Run Code Online (Sandbox Code Playgroud)

不幸的是,它不能像那样工作并返回整个对象.谁能告诉我怎么做?

pagination mongodb

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

jQuery:选择没有标记的文本并用一个包装

我有一个你在下面看到的代码:

<div class="categories-list">
Description One
<ul>
    <li>
        <span>CATEGORY1</span>
        <span>CATEGORY2</span>
        <span>CATEGORY3</span>
    </li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)

我想要做的是选择没有标签的文本"Description one"并使用jQuery用标签(特别是h2)包装它,所以最终的代码如下所示:

<div class="categories-list">
<h2>Description One</h2>
<ul>
    <li>
        <span>CATEGORY1</span>
        <span>CATEGORY2</span>
        <span>CATEGORY3</span>
    </li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)

我知道我可以使用wrap()函数来完成第二件事.选择部分是我遇到的问题.

javascript jquery

2
推荐指数
1
解决办法
2017
查看次数

使用Restangular请求从REST API下载文件

我有一个简单的node.js + Restify后端,标准的CORS设置和这个端点:

var file = '1,5,8,11,12,13,176,567,9483';

server.get('/download', function(req, res, next) {
  res.set({"Content-Disposition": "attachment; filename='numbers.csv'"});
  res.setHeader("Content-type", "text/csv");
  res.send(file);
  return next();
}, function(err) {
  res.send(err);
});
Run Code Online (Sandbox Code Playgroud)

它想要做的是创建CSV文件并将其返回.

当我只是在网络浏览器中键入端点地址并按Enter键时,它的效果很好.文件正确下载.

但是,当我尝试做同样的事情,但我没有使用浏览器的地址栏,而是使用Restangular:

Restangular.one('download').get().then(function (res) {
    console.log(res);
});
Run Code Online (Sandbox Code Playgroud)

它只是将响应写入控制台,但没有下载任何文件.

有没有办法使用Restangular?或者我可能需要为此使用别的东西?

javascript node.js angularjs restify restangular

2
推荐指数
1
解决办法
4885
查看次数