小编Pip*_*ipo的帖子

在AngularJS视图中使用Promise

Mark Dalgleish写了一篇关于如何在AngularJS视图中使用promises 的好文章.有些人在评论中询问了这个问题,但马克没有回答(尚).因为我问我同样的问题,我会在StackOverflow上询问以获得答案:

  1. 如果在视图中使用promises,如何处理"加载"/"等待"指示,因为它们是异步的?承诺是否具有"已​​解决"或"内部请求"属性?

  2. 我该如何处理错误?通常它们会出现在第二个回调中,但是如果我在视图中直接使用promise,我就不会处理这种情况.还有另外一种方法吗?

谢谢.

view promise angularjs

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

RxJS:如何用Observables做"if"?

假设我有两个observable和一个我想听一个observable的变化,如果另一个匹配某个条件.我尝试了它,zip但似乎我只会被通知,如果两个 可观察量都发生了变化,但是如果另一个观察到的情况是真的,我希望收到一个可观察的变化的通知.

我尝试了什么:

var firstState = new Rx.BehaviorSubject(undefined);
var secondState = new Rx.BehaviorSubject(undefined);

Rx.Observable.zip(firstState, secondState, function (first, second) {
  return {
    first: first,
    second: second
  }
}).filter(function (value) {
  return value.first !== undefined;
}).subscribe(function (value) {
  // do something with value.second
}); 
Run Code Online (Sandbox Code Playgroud)

我注意到有一个Rx.Observable.if,但我无法让它工作.

javascript rxjs

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

我可以将Twitter Flight与AngularJS结合使用吗?

几个小时前,Twitter发布了Flight,这是一个基于组件的JavaScript框架.它的组件是普通的DOM元素,并通过简单的DOM事件进行通信,这非常好.

我只是想知道......我可以将它与AngularJS结合起来吗?如果我正确地理解了两个框架,我可以用AngularJS创建"new"元素,它可以被并包含Flight组件.这些组件可以通过AngularJS填充数据.换句话说:我可以像往常一样使用AngularJS,但指令是"装饰"的Flight组件.(使用Flight创建视图并将AngularJS用于其他所有内容.)

那会有意义吗?如果不是......我没有得到飞行的目的:(

angularjs twitter-flight

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

无法在嵌套的ngRepeat上触发动画

我无法弄清楚如何使用Angular在嵌套的ngRepeat上触发动画.

CSS类".test"是动画的.在内部ngRepeat上使用".test"时,它不起作用(Plunker):

<div ng-repeat="section in sections">
  <div ng-repeat="item in section.items" class="test">
    <h2>{{item.title}}</h2>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

在外部ngRepeat上使用".test"时,它确实有效(Plunker):

<div ng-repeat="section in sections">
  <div ng-repeat="item in section.items" class="test">
    <h2>{{item.title}}</h2>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

javascript css angularjs angularjs-ng-repeat ng-animate

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

Angular指令作为其他元素的外观有什么好方法?

这是一个关于Web组件的通用问题,但是我会在Angular中编写示例,因为它提供了一些处理这些问题的方法(比如replace即使它已被弃用),而且对我和其他人来说也更熟悉.

更新

由于这个评论,我认为我面临的许多问题都是Angular特有的,因为Angular"编译"指令的方式.(我无法在运行时轻松添加或删除指令.)因此,我不再搜索通用解决方案,而是针对Angular特定解决方案.抱歉这个混乱!

问题

说我想创建一个菜单栏,看起来像这样:

<x-menu>
  <x-menu-item>Open</x-menu-item>
  <x-menu-item>Edit</x-menu-item>
  <x-menu-item>Create</x-menu-item>
</x-menu>
Run Code Online (Sandbox Code Playgroud)

这可以转化为:

<section class="menu">
  <ul class="menu-list">
    <li class="menu-list-item">
      <button type="button" class="menu-button">Open</button>
    </li>
    <li class="menu-list-item">
      <button type="button" class="menu-button">Edit</button>
    </li>
    <li class="menu-list-item">
      <button type="button" class="menu-button">Create</button>
    </li>
  </ul>
</section>
Run Code Online (Sandbox Code Playgroud)

这是相当微不足道的.在出现的问题,如果我想我的配置<x-menu-item>用(现有的)指令/属性.有时属性应该引用按钮.例如,点击<x-menu-item>应该代理到<button>,因为它是内部的"真实"交互元素<x-menu-item>.

<x-menu-item ng-click="foo()">Open</x-menu-item>

<!-- ? possible translation -->

<li class="menu-list-item">
  <button type="button" class="menu-button" ng-click="foo()">Open</button>
</li>
Run Code Online (Sandbox Code Playgroud)

但是其他属性应该引用<li>.说我想隐藏<x-menu-item>我可能想要隐藏一切,而不仅仅是<button>.

<x-menu-item ng-hide="bar">Open</x-menu-item>

<!-- ? possible translation --> …
Run Code Online (Sandbox Code Playgroud)

javascript web-component angularjs polymer

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

RxJS:如何在传递下一个有效值之前进行一些清理?

我必须合并流以获取加载图像的URL:一个用于放置事件的流和一个用于文件输入更改的流.在每个新路径上,我加载此图像并将其绘制到画布上.此画布将传递到另一个流中.它看起来像这样:

// prevent browsers default behavior for dropTargetElement
[ 'drop', 'dragover' ].forEach(function(eventName) {
  Rx.Observable.fromEvent(dropTargetElement, eventName).subscribe(function(event) {
    event.preventDefault();
  });
});

// file path stream merged from openFileInputs change and openFileDropTargets drop
Rx.Observable.merge(Rx.Observable.fromEvent(inputElement, 'change').map(function(event) {
  return event.target.value;
}), Rx.Observable.fromEvent(dropTargetElement, 'drop').map(function(event) {
  return event.dataTransfer.files[0].path;
})).map(function(path) {
  var image = new Image();
  image.src = path;

  // note: I return an Observable in this map function
  // is this even good practice? if yes, is mergeAll the best
  // way to get the "load" event? …
Run Code Online (Sandbox Code Playgroud)

javascript rxjs

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

Android上的溢出滚动不起作用?

yupp,我是其中一个想要用HTML5开发移动应用程序的人.在Android和iOS上.听起来很疯狂我知道.可悲的是我有问题......

我有一个经典的应用程序,页脚和标题以及应该可滚动的内容.在iOS上这太棒了!页眉和页脚的"位置:固定"到顶部/底部,内容使用原生滚动动量"-webkit-overflow-scrolling:touch;".我知道"-webkit-overflow-scrolling:touch;" 在Android上不可用,但此属性不仅被忽略,滚动根本不起作用!

所以,任何人都可以告诉我如何在iOS上进行"原生"滚动,并在Android上使用相同的标记和样式进行"良好"滚动操作?例如,如果我可以使用具有动量的原生滚动 - 很棒,如果不是 - 纯滚动.

注意:我现在只需支持最新版本(没有Android 2.3!),所以我不想要像iScroll 4这样的JS-Fallback.

.content {
    // no(!) scrolling on Android - why?
    overflow-x: hidden;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}
Run Code Online (Sandbox Code Playgroud)

JSFiddle:http://jsfiddle.net/bmJxN/

谢谢!

android scroll native web-applications momentum

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

为什么仅为POST请求/ 201(创建)响应设置HTTP位置标头?

暂时忽略3xx响应,我想知道为什么HTTP位置标头仅与POST请求/ 201(创建)响应一起使用.

来自RFC 2616规范:

对于201(已创建)响应,Location是请求创建的新资源的位置.

这是一种受到广泛支持的行为,但为什么不应该将其与其他HTTP方法一起使用?以JSON API规范为例:

它为JSON有效负载内的当前资源定义了一个自引用链接(对于RESTful API来说并不罕见).此链接包含在每个有效负载中.该规范说,你必须包括HTTP标头的位置,如果你创建通过POST,且这个值是一样的,在有效载荷自参考链接一个新的文件,但是这需要POST.如果您可以使用HTTP位置标头,为什么还要使用自引用链接的自定义格式?

注意:这不是特定于JSON API的.这是对同一HAL,JSON的Hyper-模式或其他标准.

注意2:它甚至不是特定于HTTP位置标头,因为它与HTTP链接标头相同.正如您所看到的,JSON API,HAL和JSON Hyper-Schema不仅定义了自引用链接的约定,还表达了有关资源的相关资源或可能的操作的信息.但似乎他们都可以使用HTTP链接头.(如果他们不想使用HTTP位置标头,他们甚至可以将自引用链接放入HTTP链接头.)

我不想咆哮,它似乎只是某种"重新发明轮子".它似乎也是非常有限的:如果你只是使用HTTP位置/链接头,那么你在HTTP接受头中询问JSON,XML或其他什么并不重要,你会获得关于你的资源的有用的元信息HEAD请求,如果您使用JSON API,HAL或JSON Hyper-Schema,则不包含链接.

rest json hateoas hal-json json-api

4
推荐指数
2
解决办法
3647
查看次数

Reacts/Flux'存储应该是GUI整个状态的快照吗?

简短的问题:看起来应用程序的状态可以完全从React/Flux商店序列化.我已经看到了输入值和其他东西,但动画或悬停效果是什么?我是否应该使用经典的:hoverCSS选择器来悬停效果,还是应该使用mouseenter和-leave事件并在我的商店中保存悬停状态?

flux reactjs

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

我可以使用 SVG 创建书法外观吗?

是否可以使用 SVG 创建具有动态宽度的笔划?我想在此处此处此处实现书法外观。

这甚至可能吗?似乎 SVG 中笔画的自定义相当有限。甚至笔画中的渐变似乎也很重要(请参阅此处)。

svg

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

Mac OS X:滚动条有时是白色透明的,有时是黑色透明的

我想知道,如果在常规设置中将“显示滚动条”设置为“滚动时”,为什么Mac OS X上的滚动条有时是白色透明的,有时是黑色透明的。所有浏览器(Safari,Chrome,Firefox,Opera)都会发生这种情况。

css macos scrollbar

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

基于CouchDB的多用户应用程序的最佳实践?

我从头开始创建CMS,并决定使用CouchDB作为我的数据库解决方案.对于我的CMS,我需要各种帐户,当然还有不同的用户角色(管理员,作者,未注册用户等).

首先我想我会在我的CMS中编程授权,但是CouchDB有这样的东西,所以我想问:

使用CouchDB创建多用户应用程序的最佳做法是什么?

  1. 只为CouchDB创建一个管理员并自行管理限制,角色和帐户?
  2. 使用CouchDB的内置功能来实现这一切?(比如为CMS的每个管理员创建一个CouchDB管理员用户?)

如果我想稍后添加其他第三方授权怎么办?说我希望用户通过Twitter/Facebook/Google登录?

问候,Pipo

database authorization couchdb backend multi-user

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