小编Gal*_*aim的帖子

如何掌握AngularJS?

我对AngularJS很新,我发现它有点尴尬.简单的东西很容易,但高级的东西要难得多(指令,提供者/服务/工厂...)

对于那些刚开始学习这些东西的人来说,这些文档并没有多大用处; 我发现自己不断寻找我需要的东西的指令,而不是自己编写.

我尝试了Ember.js,我的工作效率更高,但是API仍在显着改变,所以我现在更喜欢跳过它.

有没有更好的资源可以正确进入AngularJS?

angularjs

265
推荐指数
7
解决办法
31万
查看次数

AngularJS:如何使用multipart表单实现简单的文件上传?

我想从AngularJS到node.js服务器做一个简单的多部分表单帖子,表单应该在一个部分包含一个JSON对象,在另一个部分包含一个图像,(我目前只发布带有$ resource的JSON对象)

我想我应该从input type ="file"开始,但后来发现AngularJS无法绑定到那个..

我能找到的所有例子都是用于拖放jQuery插件的拖放.我想要一个简单的上传一个文件.

我是AngularJS的新手,对编写我自己的指令感到不舒服.

angularjs angularjs-fileupload

142
推荐指数
4
解决办法
27万
查看次数

如何使用Passport验证Supertest请求?

我正在使用Passport.js进行身份验证(本地策略)并使用Mocha和Supertest进行测试.

如何使用Supertest创建会话并进行经过身份验证的请求?

mocha.js node.js supertest passport.js

59
推荐指数
5
解决办法
3万
查看次数

改进此AngularJS工厂以与socket.io一起使用

我想在AngularJS中使用socket.io.我找到了以下工厂:

app.factory('socket', function ($rootScope) {
    var socket = io.connect();
    return {
        on: function (eventName, callback) {
            socket.on(eventName, function () {
                var args = arguments;
                $rootScope.$apply(function () {
                    callback.apply(socket, args);
                });
            });
        },
        emit: function (eventName, data, callback) {
            socket.emit(eventName, data, function () {
                var args = arguments;
                $rootScope.$apply(function () {
                    if (callback) {
                        callback.apply(socket, args);
                    }
                });
            })
        }
    };
Run Code Online (Sandbox Code Playgroud)

它在控制器中使用如:

function MyCtrl($scope, socket) {
    socket.on('message', function(data) {
        ...
    });
};
Run Code Online (Sandbox Code Playgroud)

问题是每次访问控制器时都会添加另一个侦听器,因此在收到消息时会多次处理.

什么是将socket.io与AngularJS集成的更好策略?

编辑:我知道我可以在工厂中没有返回任何内容并在那里进行监听,然后在控制器中使用$ rootScope.$ broadcast和$ scope.$ on,但它看起来不是一个好的解决方案.

EDIT2:加入工厂

init: …
Run Code Online (Sandbox Code Playgroud)

socket.io angularjs

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

Node.js:如何将流读入缓冲区?

我写了一个非常简单的函数,从给定的URL下载图像,调整大小并上传到S3(使用'gm'和'knox'),我不知道我是否正在正确地读取流到缓冲区.(一切正常,但这是正确的方法吗?)

另外,我想了解一下事件循环,我怎么知道函数的一次调用不会泄漏任何东西或者将'buf'变量更改为另一个已经运行的调用(或者这种情况是不可能的,因为回调是匿名的功能?)

var http = require('http');
var https = require('https');
var s3 = require('./s3');
var gm = require('gm');

module.exports.processImageUrl = function(imageUrl, filename, callback) {
var client = http;
if (imageUrl.substr(0, 5) == 'https') { client = https; }

client.get(imageUrl, function(res) {
    if (res.statusCode != 200) {
        return callback(new Error('HTTP Response code ' + res.statusCode));
    }

    gm(res)
        .geometry(1024, 768, '>')
        .stream('jpg', function(err, stdout, stderr) {
            if (!err) {
                var buf = new Buffer(0);
                stdout.on('data', function(d) {
                    buf = Buffer.concat([buf, d]);
                }); …
Run Code Online (Sandbox Code Playgroud)

node.js

44
推荐指数
6
解决办法
8万
查看次数

generator-angular:调用`grunt test`时找不到任务"karma"

我正在尝试使用Yeoman为AngularJS设置开发环境,我根据说明安装了Yeoman:sudo npm install -g yo bower grunt-cli generator-angular我正在生成一个新的应用程序yo angular.

生成应用程序后,运行karma start会启动karma服务器,但运行grunt test结果

Loading "grunt-karma.js" tasks...ERROR
>> TypeError: object is not a function
Warning: Task "karma" not found. Use --force to continue.

Aborted due to warnings.
Run Code Online (Sandbox Code Playgroud)

我该如何解决 ?

编辑:一些文件(从Yeoman新鲜生成)

Gruntfile.js:

'use strict';
var lrSnippet = require('grunt-contrib-livereload/lib/utils').livereloadSnippet;
var mountFolder = function (connect, dir) {
  return connect.static(require('path').resolve(dir));
};

module.exports = function (grunt) {
  // load all grunt tasks
  require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);

  // configurable paths
  var yeomanConfig = …
Run Code Online (Sandbox Code Playgroud)

gruntjs yeoman karma-runner

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

如何正确学习Android测试?

学习Android测试有哪些好方法?我对学习Android测试感兴趣,我实际上并没有做TDD,而是将测试和代码编写在一起.

我在http://developer.android.com/tools/testing/index.html 和"Android应用程序测试指南"一书中阅读了所有信息并了解了基本概念,但几乎没有任何信息或示例我可以找.

这本书和示例非常基础,并展示了如何使用2个EditText框测试一个非常简单的活动,

我需要测试更复杂的东西,如IntentService,AsyncTask,ResultReceiver等.我有兴趣以TDD或几乎TDD方式构建我的应用程序.

有什么办法我可以学习那些东西(书籍,博客,例子......)或Android测试是非常罕见的吗?

android android-testing

29
推荐指数
1
解决办法
4421
查看次数

AngularJS:是否可以使控制器中的特定表单输入字段无效?

我有一个地址的文本输入字段,每当输入地址并单击输入字段旁边的搜索按钮时,我对地址进行地理编码并将输入文本替换为地理编码器的结果.我还设置了范围变量'addressOk'.

是否可以根据这个特定的表单输入字段无效,$scope.addressOk或者我是否必须为此地址地理编码输入编写指令,以便在需要时使表单无效?

angularjs

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

Android:如何在Fragments视图准备好后通知Activity?

我正在使用Google Maps API V2进行活动,其中下拉导航地图位于第二个位置.

我正在实际添加地图,如:

mMapFragment = supportMapFragment.newInstance();
getSupportFragmentManager()
        .beginTransaction()
        .replace(R.id.placeHolder, mMapFragment, TAG_MAP)
        .commit(); 
Run Code Online (Sandbox Code Playgroud)

我想获取GoogleMap ovject,因为文档https://developers.google.com/maps/documentation/android/map说它应该完成mMapFragment.getMap(),但它返回null.

根据http://developer.android.com/reference/com/google/android/gms/maps/SupportMapFragment.html ,如果Fragment尚未通过onCreateView生命周期事件,则返回null.

片段何时准备好怎么知道?

编辑:我发现这个如何知道在使用SupportMapFragment时地图已经准备就绪?

覆盖onActivityCreated似乎是一个解决方案,但是我必须通过构造函数而不是newInstance()实例化片段,它有什么区别吗?

android android-fragments google-maps-android-api-2

24
推荐指数
1
解决办法
3万
查看次数

如何使用Robolectric测试IntentService?

我想要测试onHandleIntent()的方法IntentService使用Robolectric.

我正在启动服务:

Activity activity = new Activity();
Intent intent = new Intent(activity, MyService.class);
activity.startService(intent);

ShadowActivity shadowActivity = Robolectric.shadowOf(activity);
Intent startedIntent = shadowActivity.getNextStartedService();
assertNotNull(startedIntent);
Run Code Online (Sandbox Code Playgroud)

似乎startedIntent不是null,但onHandleIntent()似乎没有被调用.

我该怎么测试呢?

android robolectric android-testing

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