我一直试图围绕Jasmine 2.0和AngularJS承诺.我知道:
done
功能,以取代旧的runs
和waitsFor
功能$q
承诺在触发摘要周期之前不会解决如何在Jasmine 2.0中使用新的异步语法测试AngularJS承诺?
我想ngLoad
在我的网页上为图像创建一个指令.这是我的首选标记:
<img ng-src="{{ src }}" ng-load="onLoad()">
Run Code Online (Sandbox Code Playgroud)
现在,我有一个指定的imgLoad
指令,如下所示:ngLoad
scope
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
无论其他任何属性,我都想工作.
我的实施基于:
任何帮助深表感谢!
我正在考虑将模型视图和Controller-for Java分开并使用Eclipse的最佳方法,如果它有任何区别的话.
我曾经把每个类型的MVC分别放在自己的包中,但我开始认为这不是最好的方法:
com.company.client.view
com.company.another(controler)
com.company.another.view
com.company.yetAnother(controler)
(假设有很多不同的包,每个包都有自己的视图和模型)
我考虑过使用:
com.company.yetAnother
com.company.model.client
com.company.model.yetAnother
com.company.view.client
我甚至考虑过将控制器,模型和视图放在不同的项目中.也许它会更加模块化,我会更加确定视图不使用控制器,例如(因为控制器项目将包括视图,但不是相反).
那么分离M,V和C的最佳方法是什么?
(考虑网络和桌面应用,而不仅仅是网络)
我正在尝试使用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) 我正在尝试创建一个使用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) 我想为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 ×4
angularjs ×2
node.js ×2
angular ×1
architecture ×1
express ×1
jasmine ×1
java ×1
node-pdfkit ×1
static-site ×1