小编Tyl*_*ich的帖子

测试AngularJS在Jasmine 2.0中的承诺

我一直试图围绕Jasmine 2.0和AngularJS承诺.我知道:

如何在Jasmine 2.0中使用新的异步语法测试AngularJS承诺?

javascript jasmine angularjs

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

AngularJS指令:在一个属性中放置一个调用函数,不包含另一个属性

我在追求什么

我想ngLoad在我的网页上为图像创建一个指令.这是我的首选标记:

<img ng-src="{{ src }}" ng-load="onLoad()">
Run Code Online (Sandbox Code Playgroud)

是)我有的

的jsfiddle

现在,我有一个指定的imgLoad指令,如下所示:ngLoadscope

var app = angular.module('app', []);

app.directive('imgLoad', [function() {
    return {
        restrict: 'A',
        scope: {
            loadHandler: '&ngLoad'
        },
        link: function (scope, element, attr) {
            element.on('load', scope.loadHandler);
        }
    };
}]);
Run Code Online (Sandbox Code Playgroud)

生成的标记是:

<img ng-src="{{ src }}" img-load ng-load="onLoad()">
Run Code Online (Sandbox Code Playgroud)

编辑:我之前认为指令的名称(即imgLoad)需要与我的属性名称(即ngLoad)不同.不是这种情况.解决方案是命名我的指令ngLoad.

需要改变什么

我想摆脱imgLoad属性.ngLoad无论其他任何属性,我都想工作.

我已经看到了什么

我的实施基于:

任何帮助深表感谢!

javascript angularjs angularjs-directive

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

分离模型,视图和控制器的最佳方法

我正在考虑将模型视图和Controller-for Java分开并使用Eclipse的最佳方法,如果它有任何区别的话.

我曾经把每个类型的MVC分别放在自己的包中,但我开始认为这不是最好的方法:

  • com.company.client(controler)
  • com.company.client.model
  • com.company.client.view

  • com.company.another(controler)

  • com.company.another.model
  • com.company.another.view

  • com.company.yetAnother(controler)

  • com.company.yetAnother.model
  • com.company.yetAnother.view

(假设有很多不同的包,每个包都有自己的视图和模型)

我考虑过使用:

  • com.company.client
  • com.company.another
  • com.company.yetAnother

  • com.company.model.client

  • com.company.model.another
  • com.company.model.yetAnother

  • com.company.view.client

  • com.company.view.another
  • com.company.view.yetAnother

我甚至考虑过将控制器,模型和视图放在不同的项目中.也许它会更加模块化,我会更加确定视图不使用控制器,例如(因为控制器项目将包括视图,但不是相反).

那么分离M,V和C的最佳方法是什么?

(考虑网络和桌面应用,而不仅仅是网络)

java architecture model-view-controller data-structures

9
推荐指数
1
解决办法
8320
查看次数

在Angular 2中指定服务的提供者

我正在尝试使用Angular 2的DI系统来自动处理我的服务的依赖性.我想在服务本身上使用注释,而不是使用第二个参数bootstrap()来指定所有可注入服务.

我得到了什么

低级服务:

services/role-store.ts

export class RoleStore {
  constructor() {
    // Initialize roles
  }

  getById( id ) {
    // accepts id, returns role object
  }
};
Run Code Online (Sandbox Code Playgroud)

依赖于低级服务的高级服务:

services/user-store.ts

import {Injectable} from 'angular2/angular2';
import {RoleStore} from './role-store.ts';

@Injectable()
export class UserStore {
  constructor( roleStore: RoleStore ) {
    this.roleStore = roleStore;
    // Initialize users
  }

  roleForUser( user ) {
    let role = this.roleStore.getById( user.roleId );
    return role;
  }
};
Run Code Online (Sandbox Code Playgroud)

依赖于高级服务的组件:

components/user-dir.ts

import {Component, View, CORE_DIRECTIVES} from 'angular2/angular2';

import {UserStore} …
Run Code Online (Sandbox Code Playgroud)

angular

8
推荐指数
2
解决办法
2012
查看次数

使用Node.js中的远程图像提供动态生成的PDF

我正在尝试创建一个使用PDFKit即时生成PDF的节点服务器.PDF是基于POST请求(通过Express)的参数生成的.其中一个参数指定图像URL,服务器下载并注入PDF.

现在,我有以下结构:

// Get dependencies
var express = require('express'),
http = require('http'),
fs = require('fs'),
pdfDocument = require('pdfkit');

// Get express started.
var app = express();

// Use JSON in POST body
app.use(express.json());

// Setup POST response
app.post('/post_pdf', function(req, res) {
    // Get the PDF initialized
    var doc = new pdfDocument();

    // Set some headers
    res.statusCode = 200;
    res.setHeader('Content-type', 'application/pdf');
    res.setHeader('Access-Control-Allow-Origin', '*');

    // Header to force download
    res.setHeader('Content-disposition', 'attachment; filename=Untitled.pdf');     

    // Pipe generated PDF into response …
Run Code Online (Sandbox Code Playgroud)

javascript node.js express node-pdfkit

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

如何实现Punch Autoprefixer预处理器?

我想为Punch静态站点生成器实现一个autoprefixer预处理器.

然而,在Punch的说法中,我不确定这是否有资格作为编译器,缩小器等.我已经尝试了以上所有但无济于事.

这是我最近尝试获得任何工作的尝试:

./autoprefixer.js

module.exports = {
    input_extensions: [".css"],
    force_compile: true,
    compile: function(input, filename, callback){
        return callback(null, "*{color: red;}");
    }
};
Run Code Online (Sandbox Code Playgroud)

config.json

...
    "plugins": {
        "compilers": {
            ".css": "punch-sass-compiler",
            ".css": "autoprefixer"
        }
    }
...
Run Code Online (Sandbox Code Playgroud)

result

/home/peter/projects/website/node_modules/punch/lib/asset_bundler.js:62
                        if (compiler && compiler.input_extensions.indexOf(template_extension) > -1)
                                                                 ^
TypeError: Cannot read property 'indexOf' of undefined
  at /home/peter/projects/website/node_modules/punch/lib/asset_bundler.js:62:45
  at /home/peter/projects/website/node_modules/punch/lib/template_handler.js:119:11
  at fs.js:334:14
  at /home/peter/projects/website/node_modules/punch/node_modules/fstream/node_modules/graceful-fs/graceful-fs.js:42:10
  at FSReqWrap.oncomplete (fs.js:95:15)
Run Code Online (Sandbox Code Playgroud)

任何人都可以引导我朝着正确的方向前进吗?

javascript static-site node.js

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