对于React,存在一些生活风格指南生成器,如styleguidist,它们采用组件,sass和一些额外的可编辑文本,并自动生成特定应用程序的样式指南,具体取决于styleguide任务插入构建过程的位置,每次重复这个过程.Angular 2+有类似的东西吗?
警告:我不是指编码风格指南,而是一种生活风格指南,它可以自动记录布局(sass/css)样式,字体,图标,颜色,字体大小以及带有参数的组件等.这些事情碰巧也被称为风格,对此抱歉,但我没有发明这个名字.
我目前正在尝试使用 Angular 2(通过 Ionic 2)应用程序访问 API。我们的 Laravel 后端的设置方式是,它需要一个带有请求内容类型的 Accept 标头,而不是 Content-Type 标头。不仅仅是一个空的 Content-Type 标头,而且根本没有。
因此,我在 Http 中设置必要的参数,省略标头中的 Content-Type,这就是问题开始的地方:Angular 2 显然无法摆脱 Content-Type。如果我给它一个对象作为请求的正文,它会将 Content-Type 设置为 application/json。这仍然是可以理解的。然后我对对象进行字符串化,这会导致 Angular 将 Content-Type 设置为 text/plain。尝试,通过
headers = new Header({Accept: 'application/json', Content-Type: undefined});
Run Code Online (Sandbox Code Playgroud)
或者
headers.append("Content-Type", undefined);
Run Code Online (Sandbox Code Playgroud)
或者我能想象到的任何标头的任何其他组合,其中包含 application/json 的 Accept 而没有其他任何内容,即使 headers.set 或 headers.delete 失败,Angular 2 也会继续做它的事情。
其他地方建议将 Content-Type 设置为 undefined,我也尝试将其设置为空字符串,在传递字符串化 JSON 时将其设置为 application/json,Angular 只是不关心我想要什么。有没有办法关闭这种自动性?我是否仍然做错了什么(我正在导入标头,这又名缺乏标头,这是其他地方的问题,所以应该排除)?
代码如下:
import { Injectable, Inject } from '@angular/core';
import { Http, Headers, RequestOptions } from '@angular/http';
import 'rxjs/add/operator/toPromise';
import { ConfsService } …Run Code Online (Sandbox Code Playgroud) 只是一个好奇心,我已经玩了一些原型,但看起来&子程序的原型只允许在第一个位置.
当我写作
sub test (&$$) {
do_something;
}
Run Code Online (Sandbox Code Playgroud)
并称之为
test {doing_something_else} 1,2;
Run Code Online (Sandbox Code Playgroud)
有用.
当我像这样原型
sub test ($$&) {
do_something;
}
Run Code Online (Sandbox Code Playgroud)
并再次称之为
test 1,2 {doing_something_else};
Run Code Online (Sandbox Code Playgroud)
它不起作用.我尝试了各种排列,但似乎没有任何表现.
我错过了什么,还是不可能?如果没有,为什么?
(我可能需要指出,我当然成功尝试了调用test(1,2,sub {foo})的选项,但它看起来并不像上面最后一个例子中的选项那样性感(并且我甚至不需要原型设计);我希望能够实现if(){} else {}等结构的语法,或者更重要的是,try()catch(){}或者switch()case(){},但我猜这就是为什么这些结构还没有在Perl中实现的原因)
就在今天,我试图将使用Object.defineProperty()javascript中的方法的较旧的我的库包含到HTML文档中。我可以肯定,在以前的FireFox版本中,它运行良好。但是,如果我现在使用它,则在MaxOS 10.6.8的FF 19.02中,如下例所示:
var nuArray = function (values) {
for (var i in values) {this[i] = values[i]}
}
nuArray.prototype = Array.prototype;
var defaultProperties = {configurable: true, writable: true, enumerable: false, get: undefined, set: undefined, value: undefined};
Object.defineProperty(nuArray, "grep", defaultProperties)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
TypeError: property descriptors must not specify a value or be writable when a getter or setter has been specified @ ....
Run Code Online (Sandbox Code Playgroud)
我仅在稍后添加value,get和set部分,以将它们显式设置为undefined(默认情况下应将其设置为,但是由于这种行为开始时很奇怪,因此我想确保覆盖所有基础)。它在Safari 5.1.7中运行没有问题,并且正如我之前已经提到的那样,我非常确定它在FF的早期版本中是这样做的。足够奇怪的是,即使是现在,如果我只是将代码行复制到FF的控制台中,也不会引发任何错误,并且一切都会正常进行。它没有任何区别,如果我定义value,get或set。我是否有明显的遗漏或正在碰到新一版的浏览器不兼容问题?