小编Pic*_*cci的帖子

Apache与Angular2 - 404找不到

我已经在具有Bitnami映像的AWS服务器上部署了Angular2应用程序.该应用程序由Apache(在端口8080上配置虚拟主机)提供服务,并且只要我从头开始就可以正常工作index.html.如果我想访问另一个页面(已在其中配置RouteConfig),我会收到404 not found错误消息.以下是虚拟服务器的配置:

Listen 8080
<VirtualHost _default_:8080>
  DocumentRoot "/opt/bitnami/apps/MyApp"
<Directory  "/opt/bitnami/apps/MyApp">
Options All
Require all granted
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

apache bitnami angular

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

角度材质滑块 - 显示最小和最大标签

我正在使用 Angular Material 滑块,我想在滑块的两端显示代表滑块设置的最小值和最大值的标签。或者,我想显示一个带有点和相对标签的比例,显示哪个值与哪个点相关。这是 javascript 库提供的其他滑块中存在的功能,但我在 Angular Material 滑块 API 中没有找到类似的功能。我想知道使用 Angular Material 提供的滑块是否也可以获得类似的行为。

angular-material2 angular

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

使用模块编译 Typescript 以在浏览器中运行

使用 Javascript,我可以使用模块(即importexport语句)并将代码细分到不同的文件中,并让这些代码在浏览器中运行。

让我们看一个由 3 个文件组成的最简单的例子:my-function-js.jsmain-js.jspage-js.html

我的函数 js.js

export function myFunctionJs() {
  console.log("here I am, a pure Javascript function");
}
Run Code Online (Sandbox Code Playgroud)

main-js.js

import { myFunctionJs } from "./my-function-js.js";

myFunctionJs();
Run Code Online (Sandbox Code Playgroud)

页面-js.html

<!DOCTYPE html>
<html>
  <body>
    <script type="module" src="./main-js.js"></script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

如果我尝试对 Typescript 执行相同的操作(具有.ts扩展名的文件中的相同代码),我会失败,因为编译器根据提供给编译器的选项生成各种“模块相关” module,但无法简单地维护类似的代码它就是这样,并且让它像 Javascript 与模块一样工作。

我意识到这是一个理论问题,我们应该使用捆绑器等,但我只是想知道是否有一种简单的方法可以让模块在浏览器中工作,只需使用 Typescript 编译器。

javascript node-modules typescript es6-modules

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

如何从测试代码中触发 Angular Material MatSelect 上的 selectionChange 事件

我有一个嵌入 Angular MaterialMatSelect元素的组件。

在我正在编写的测试中,我需要模拟某个选项的选择,并确保selectionChange与该MatSelect元素关联的Observable实际触发。

到目前为止我的代码是

const mySelect: MatSelect = fixture.nativeElement.querySelector('#mySelect');
mySelect.value = 'new value';
Run Code Online (Sandbox Code Playgroud)

但不幸的是mySelect.selectionChange,这并没有发出通知,因此我的测试工作。非常欢迎有关如何执行此操作的任何想法。

angular-material angular angular-test

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

Angular - 如何不重建使用 *ng 创建的列表,任何时候触发列表的每个元素上的事件

我有一个简单的<div>生成 using*ngFor指令列表,类似于

<div *ngFor="let item of items() | async ; let i=index" 
  [ngClass]="getItemClass(i)"
  (click)="itemClick(i)"</div>
Run Code Online (Sandbox Code Playgroud)

如您所见,该方法返回的 Observable 每次items()发出时都会异步填充列表。在我的情况下,这样的 Observable 是 a ReplaySubject,如果这对知道有任何用处。然后我<div>使用方法定义要应用于每个元素的类getItemClass

我还想使用方法对每个项目上的点击事件做出反应itemClick(i: number)

问题

任何时候div单击一个元素,即任何时候itemClick(i: number)运行该方法,似乎<div>都重建了整个s列表。我得出这个结论是观察到任何时候div点击一个元素,该items()方法也会运行。

<div>单击其中一个元素时是否可以避免重建列表?我已经设置changeDetectionOnPush但它似乎并没有解决我的问题。

angular angular-changedetection

0
推荐指数
1
解决办法
1069
查看次数