小编Spl*_*tar的帖子

Angular测试失败,无法在'XMLHttpRequest'上执行'send'

我正在尝试测试我的角度4.1.0组件 -

export class CellComponent implements OnInit {
  lines: Observable<Array<ILine>>;
  @Input() dep: string;
  @Input() embedded: boolean;
  @Input() dashboard: boolean;
  constructor(
    public dataService: CellService,
    private route: ActivatedRoute,
    private router: Router, private store: Store<AppStore>) {
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,一个简单的"应该创建"测试会引发这个神秘的错误......

NetworkError:无法在'XMLHttpRequest'上执行'send':无法加载'ng:///DynamicTestModule/module.ngfactory.js'.

所以我发现了这个问题,这表明问题是组件有@Input)_没有设置的参数,但是,如果我像这样修改我的测试:

  it('should create', inject([CellComponent], (cmp: CellComponent) => {
    cmp.dep = '';
    cmp.embedded = false;
    cmp.dashboard = false;
    expect(cmp).toBeTruthy();
  }));
Run Code Online (Sandbox Code Playgroud)

然后我仍然得到相同的问题,同样,如果我@Input()从组件中删除注释,仍然没有区别.我怎样才能通过这些测试?

unit-testing karma-jasmine angular-cli angular

134
推荐指数
5
解决办法
5万
查看次数

更改路线参数而无需以角度2重新加载

我正在使用角度2,谷歌地图等制作房地产网站.当用户更改地图的中心时,我执行搜索到api,指示地图的当前位置以及半径.问题是,我想在不重新加载整个页面的情况下在URL中反映这些值.那可能吗?我找到了一些使用AngularJS 1.x的解决方案,但没有关于angular 2的解决方案.

javascript routes angular2-routing angular

91
推荐指数
8
解决办法
9万
查看次数

ESLint:如何设置.eslintrc来识别'require'?

我是ESLint的新手,我已成功将ESLint与IntelliJ集成.

开箱即用,我的ESLint集成无法识别node,但文档的基本审查清楚地表明,通过创建在.eslintrc我的项目文件夹的根目录中命名的配置文件(使用适当的IntelliJ设置来访问此文件)和设置"node":true,ESLint识别node(即以下全部.eslintrc作品).

// Contents of .eslintrc at root of project - support for Node and jQuery
{
  "env" : {
    "node" : true,
    "jquery" : true
  },
}
Run Code Online (Sandbox Code Playgroud)

但是,ESLint仍然无法识别require(),如此屏幕截图所示:

ESLint无法识别<code>ESLint</code>识别的基本问题<code>require()</code>.特别是,我在<a rel=这里找到了一个可能的提示,它建议添加"amd":false(我推测).eslintrc文件 - 但没有去.

这看起来很基本.我怎样才能.eslintrc认出来require()

(如果在您的回答中,您可以提供有关如何涵盖更多一般案例的见解,那也会有所帮助.谢谢!)

javascript lint intellij-idea jshint eslint

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

如何在ngMaterial中禁用ngAria?

ngAria(一个辅助功能模块)正在为我的Angular Material项目添加一个不必要的bower导入 - 现在它正在抛出警告:

节点上缺少可访问性所需的属性"aria-label"

我只添加了ngAria,因为它似乎是ngMaterial所必需的.我的应用程序不需要屏幕阅读器可访问性.

无论如何,我如何从ngMaterial中删除ngAria?或者至少禁用所有警告.

编辑: 似乎禁用ngAria警告的唯一简单方法是console.warn = function() {};关闭浏览器的警告(我不建议这样做,因为它可能会隐藏与咏叹调无关的警告)

wai-aria angularjs-material

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

无法在Windows 10上的intellij idea终端最新版本中输入任何内容

我正在使用Intellij的想法14.1.3最新的社区版本.我无法在终端输入单个字母.我不知道这个问题是什么.任何人都可以帮我解决这个问题.在此输入图像描述

在此输入图像描述

terminal intellij-idea windows-10

21
推荐指数
1
解决办法
8794
查看次数

如何更改角度材质中所选标签的下划线颜色?

我下面的教程把md-tabsmd-toolbar来自这里.但是,我选择的指标选项卡与md-primary使其不可见的颜色相同.请看下面的图片.

在此输入图像描述

但是,当我改变md-tabsto 的颜色时md-accent,它会显示指示器.

在此输入图像描述

如何更改所选指标选项卡的颜色?

这是代码:

<md-toolbar class="md-whiteframe-5dp">
    <div class="md-toolbar-tools">
        <h2>Title</h2>
    </div>

    <md-tabs md-selected="tabs.selectedIndex">
        <md-tab id="tab1" aria-controls="tab1-content">Tab #1</md-tab>
        <md-tab id="tab2" aria-controls="tab2-content">Tab #2</md-tab>
        <md-tab id="tab3" aria-controls="tab3-content">Tab #3</md-tab>
    </md-tabs>
</md-toolbar>

<md-content layout-padding flex>
    <ng-switch on="tabs.selectedIndex" class="tabpanel-container">
        <div role="tabpanel" id="tab1-content" aria-labelledby="tab1" ng-switch-when="0" md-swipe-left="tabs.next()" md-swipe-right="tabs.previous()">
            View for Item #1<br />
            data.selectedIndex = 0
        </div>

    <div role="tabpanel" id="tab2-content" aria-labelledby="tab2" ng-switch-when="1" md-swipe-left="tabs.next()" md-swipe-right="tabs.previous()">
        View for Item #2<br />
        data.selectedIndex = 1
    </div>

    <div role="tabpanel" id="tab3-content" …
Run Code Online (Sandbox Code Playgroud)

javascript angularjs angularjs-material

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

如何创建响应式(变化列数)Angular-Material卡网格

我正在尝试创建一个Angular-Material卡网格,其行为有点像Bootstrap网格.理想情况下,对于小屏幕宽度,卡片将是全宽度的,并且在较大断点处跳转到两列.

用2张卡片演示

问题是AM为每张卡创建了列.我还没想出如何为每个断点指定列数.

用5张卡演示

这是我正在使用的标记的基础,它在第一个断点处从行到列采用卡布局:

<div ng-app layout="column" layout-gt-sm="row" class="layout-sm-column layout-row">
  <div flex class="flex" ng-repeat="i in [1,2,3,4,5] track by $index">
    <md-card>
Run Code Online (Sandbox Code Playgroud)

SO上已经有类似的问题,但是接受的答案并不令人满意,因为它使用自定义CSS并且卡片不是流畅的.我没有找到其他类似的例子.

我想我可以使用Angular循环每两张卡并创建堆叠集,但这似乎是不必要的麻烦.我不得不认为Material提供了更好的解决方案.此外,这样的解决方案会在卡片高度不同的页面中留下空白.材料似乎面向类似砌体的柔性布局,我想坚持下去.

谢谢.

responsive-design angularjs material-design angularjs-material

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

如何为角度材质中的特定断点编写css

我正在尝试为div编写CSS,这应该仅在特定断点被触发时应用,例如.sm,md或lg.

我正在使用角度材料(https://material.angularjs.org).

我知道这可以使用媒体查询来完成,@media (max-width: 480px) { ... }但我正在寻找一种角度材料的方式来做到这一点.

responsive-design angularjs material-design angularjs-material

16
推荐指数
1
解决办法
8220
查看次数

如何从命令行以admin身份查询firestore

如何从命令行以管理员身份验证以转储/查询我的firestore中的数据?例如,我有一个users集合,每个文档看起来像:

{
  edit_count: 15
}
Run Code Online (Sandbox Code Playgroud)

我只是想在我的终端中将所有这些文件打印为json.

我使用过firebase-tools,但看起来它只支持查询RTDB?

firebase google-cloud-firestore

12
推荐指数
3
解决办法
3324
查看次数

无法使用自定义域将Firebase动态链接添加到项目

在使用page.link URL前缀(当时唯一的选项)之前,我已经在其他项目中创建了Firebase动态链接。但是,今天为新项目启用动态链接时,不再显示该选项。看起来自定义域文档今天已更新。不幸的是,尽管他们提供了一些有用的示例,但并未解释如何以我能理解的方式解决我的问题。

为自定义域配置动态链接时出错

因此,此消息似乎表明我需要“将链接放在子路径下”。在我看来,/link在此处添加路径前缀应该可以实现?但是进行更改后,我得到了相同的错误消息。

您似乎已经在此托管站点上提供了内容。将链接放在子路径下,以避免与现有内容冲突。

为了尝试解决此问题,我去了我的项目并添加了建议的Hosting配置并进行了部署。

firebase.json:

{
  "hosting": {
    "public": "dist",
    "ignore": [
      "**/.*"
    ],
    "appAssociation": "AUTO",
    "rewrites": [
      {
        "source": "/link/**",
        "dynamicLinks": true
      },
      {
        "source": "**",
        "destination": "/index.html"
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

即使等待了一个小时,我仍然收到相同的错误,而且我不知道该怎么办。

请注意,/index.html由于我在www.devintent.com上托管了一个Angular单页应用程序,因此我对此进行了重写。

无论我做什么,我总是收到此错误,并且Continue按钮保持禁用状态。我尝试使用裸域devintent.com而不是www.devintent.com,但这无济于事。我尝试使用links.devintent.com,但遇到了相同的错误。

如果我手动disabledContinue按钮中删除,则会收到以下错误消息:

手动配置路径前缀消息 这链接到用于为动态链接手动配置托管文档,文档已经完成了一些步骤。单击Check Again按钮只会使我回到上面第一张图像中的相同错误。


不使用自定义域的解决方法

我现在很高兴使用page.link链接,我只需要创建一个动态链接并不受阻地执行此任务,但是我也无法在控制台中找出任何允许我执行此操作的方法。

对此进行更新:我发现需要将子域添加到page.linkURL。工具提示最后会显示“或Google提供的免费域(例如,yourapp.page.link)”。我本来希望它不那么突出(因为我已经很长时间没有找到它了)。现在可以将使用devintent.page.link对我有效。


但是,我不确定自定义域配置为何不起作用,如果具有现有托管配置和自定义域的项目存在此类复杂性,为什么它会成为默认设置?

firebase-hosting firebase-dynamic-links

11
推荐指数
4
解决办法
2720
查看次数