小编Tim*_*erg的帖子

$ q'终于'不在IE8中工作

Angular 1.2取代alwaysfinally承诺.

那么曾经是这样的:

$http.get('/myurl').always(handler);
Run Code Online (Sandbox Code Playgroud)

现在需要这样:

$http.get('/myurl').finally(handler);
Run Code Online (Sandbox Code Playgroud)

但我在IE8中收到错误"预期标识符".如何在IE8中完成这项工作?

angularjs q

12
推荐指数
1
解决办法
5595
查看次数

如何将角度$资源工厂(非服务)转换为ES6

我想通过将现有代码转换为ES6(如本视频中所推荐的)开始准备Angular 2 .

但是,我立刻感到难过,或者可能不确定如何继续.在视频中,它们显示了服务的转换.在我的代码中,我正在尝试转换工厂,这在尝试转换为ES6时类似但实际上完全不同.该服务很容易遵循类实例化方法,但工厂需要返回注入的对象.

我的代码开头是这样的:

melange.factory('SomeService', ['$resource', function ($resource) {
  var someResource = $resource('/api/endpoint');

  someResource.customQuery = function() {
    // ... do some custom stuff
  };

  return someResource;
}]);
Run Code Online (Sandbox Code Playgroud)

我的第一次失败尝试 - 所以我立即开始转换到ES6并想出了这个:

// notice I changed this to service instead of factory
melange.service('SomeService', ['$resource', SomeService]);

class SomeService {
  constructor ($resource) {
    var someResource = $resource('/api/endpoint');

    someResource.customQuery = function() {
      // ... do some custom stuff
    };

    return someResource;
  }
}
Run Code Online (Sandbox Code Playgroud)

但那不对......构造函数正在返回一个资源.


也许成功尝试 - 所以它真的是资源(或者真的是一个Route对象),这就是我想要'class-ify'的东西.但由于Resource对象已经有一个特定的接口接口,我需要我的类扩展基础Resource对象.但这是通过调用$ resource工厂函数动态生成的.所以我想出了这个可能正确的代码:

melange.service('SomeService', ['$resource', …
Run Code Online (Sandbox Code Playgroud)

angularjs ecmascript-6

10
推荐指数
1
解决办法
4586
查看次数

Flex 4:是否可以让BorderContainer自动调整其内容的大小?

我有一个BorderContainer,里面有几个对象.我希望它能够紧贴自己的内容,但事实并非如此.看起来BorderContainer的默认大小是112x112.考虑到没有其他容器具有默认大小,这是如此奇怪.有没有办法将宽度和高度属性设置为"自动"或类似的东西?

size height containers width flex4

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

如何在Angular 1应用程序中嵌入独立的Angular 2应用程序

注意:我不会升级ng1应用。我正在尝试让ng1和ng2应用程序并排(或更确切地说嵌套)。

我们大致使用以下html来显示如何尝试在页面上一次使用两个框架:

  • Angular 1:整个页面由Angular 1控制。但是我们使用ng-non-bindable告诉ng1应用程序忽略页面中间的div。
  • Angular 2:应该将页面中间的元素引导为Angular 2。

<html ng-app="app">
  <head></head>
  <body ng-controller="appController">
    <header>Angular 1 Stuff</header>

    <div ng-non-bindable>
      <ng2-app></ng2-app>
      <script src="bundle.js"/>
      <!-- bundle.js is the output from webpack and should bootstrap <ng2-app> -->
    </div>

    <footer>Angular 1 Stuff</footer>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

当我们单独运行它而不尝试集成到此ng1应用程序页面时,我们的应用程序运行良好。

但是,当我们在集成后运行它时,我们会收到一条错误消息,指出与全局require方法存在冲突。

  • ng1应用程序正在使用requirejs
  • ng2捆绑包是的典型输出webpack(使用typescript-loader

requirejs和webpack都使用,require但是在不同的上下文中。

我该如何解决冲突?

如果您好奇为什么要这样做:我们正在尝试在还具有Angular 1应用程序的页面上引导新应用程序。我们公司将全局页眉/页脚和每个页面的内容作为单独的已部署应用程序。这使团队可以将页面作为独立项目进行处理。一个团队希望在我们的新页面之一上尝试将Angular 2用于其新应用程序。

integration angularjs angular

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

标签 统计

angularjs ×3

angular ×1

containers ×1

ecmascript-6 ×1

flex4 ×1

height ×1

integration ×1

q ×1

size ×1

width ×1