小编Hon*_*iao的帖子

如何在Angular 2中的"select"中获得新选择?

我正在使用Angular 2(TypeScript).

我想为新的选择做点什么,但是我在onChange()中得到的东西总是最后选择.我怎样才能获得新的选择?

<select [(ngModel)]="selectedDevice" (change)="onChange($event)">
    <option *ngFor="#i of devices">{{i}}</option>
</select>

onChange($event) {
    console.log(this.selectedDevice);
    // I want to do something here for new selectedDevice, but what I
    // got here is always last selection, not the one I just select.
}
Run Code Online (Sandbox Code Playgroud)

typescript angular

331
推荐指数
8
解决办法
46万
查看次数

如何回到最后一页

有没有一种聪明的方法可以回到Angular 2的最后一页?

就像是

this._router.navigate(LASTPAGE);
Run Code Online (Sandbox Code Playgroud)

例如,页面C有一个Go Back按钮,

  • 页面A - >页面C,单击它,返回页面A.

  • 页面B - >页面C,单击它,返回到页面B.

路由器有这个历史信息吗?

angular2-routing angular

298
推荐指数
12
解决办法
25万
查看次数

如何在 React Router v6 中重定向?

我正在尝试升级到 React Router v6 ( react-router-dom 6.0.1)。

\n

这是我更新的代码:

\n
import { BrowserRouter, Navigate, Route, Routes } from \'react-router-dom\';\n\n<BrowserRouter>\n  <Routes>\n    <Route path="/" element={<Home />} />\n    <Route path="/lab" element={<Lab />} />\n    <Route render={() => <Navigate to="/" />} />\n  </Routes>\n</BrowserRouter>\n
Run Code Online (Sandbox Code Playgroud)\n

最后Route是将其余路径重定向到/.

\n

但是,我收到了一个错误

\n
\n

TS2322:类型 \'{ 渲染:() => 元素;}\' 不可分配给类型“IntrinsicAttributes & (PathRouteProps | LayoutRouteProps | IndexRouteProps)\”。\xc2\xa0\xc2\xa0Property \'render\' 在类型 \'IntrinsicAttributes & (PathRouteProps | LayoutRouteProps | IndexRouteProps)\' 上不存在。

\n
\n

然而,根据文档,它确实有renderfor Route. …

javascript reactjs react-router react-router-dom

201
推荐指数
7
解决办法
35万
查看次数

Angular组件中的"私有"和"公共"

如果我不加私人之前foo,loadBartext,我相信他们是公共默认情况下.

export class RandomComponent {
  @Input() foo: string;
  @Output() loadBar = new EventEmitter();
  text: string;
}
Run Code Online (Sandbox Code Playgroud)

当它们public在组件中时是否有任何用例?

出于封装/安全原因,我是否应该private像以下一样为所有这些添加?

export class RandomComponent {
  @Input() private foo: string;
  @Output() private loadBar = new EventEmitter();
  private text: string;
}
Run Code Online (Sandbox Code Playgroud)

谢谢

typescript angular

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

是否可以在Angular 2的代码中使用管道?

当我在模板中使用自定义管道时,就像这样.它运作良好.

{{user|userName}}
Run Code Online (Sandbox Code Playgroud)

是否可以在代码中使用管道?我试着这样用,

let name = `${user|userName}`;
Run Code Online (Sandbox Code Playgroud)

但它表明

userName未定义

我的替代方法是在代码中手动使用db.collection.findOne().但有什么聪明的方法吗?

angular-pipe angular

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

如何删除Bootstrap 4中的下拉箭头?

我正在使用Bootstrap 4.我试图删除下拉列表中的箭头.

我找到的Bootstrap 3 的答案不再适用.

jsfiddle在这里.

<div class="dropdown open">
  <button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
    Dropdown
  </button>
  <div class="dropdown-menu" aria-labelledby="dropdownMenu1">
    <a class="dropdown-item" href="#">Action</a>
    <a class="dropdown-item" href="#">Another action</a>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

css twitter-bootstrap twitter-bootstrap-4

82
推荐指数
7
解决办法
6万
查看次数

如何在Typescript中获取变量类型?

我有一个变量.

abc:number|string;
Run Code Online (Sandbox Code Playgroud)

我该如何检查其类型?我想做类似下面的事情:

if (abc.type === "number") {
    // do something
}
Run Code Online (Sandbox Code Playgroud)

typescript

70
推荐指数
6
解决办法
10万
查看次数

如果我的代码仅供我工作的公司使用,我应该在package.json的许可证字段中放入什么?

NPM 2.11.3

我正在Node中构建一个库.该库仅供我目前工作的公司使用.我认为这意味着许可证是"无".但是当我npm init希望我使用SPDX许可证时."无"或"未许可"不是有效选项.

npm WARN package.json data_monitoring_api@0.1.0 license should be a valid SPDX license expression

在NPM GitHub问题跟踪器上有一些关于此的讨论,但我找不到任何明确回答这个的东西.也许NPM不支持这个概念,但这看起来很奇怪.

在这种情况下,我应该为此字段添加什么?我想摆脱与此相关的npm警告.

虽然文档说UNLICENSED是有效的,但它仍然会发出警告:

$ cat package.json | grep licen
  "license": "UNLICENSED",

$ npm install 
npm WARN package.json data_monitoring_api@0.1.0 license should be a valid SPDX license expression
Run Code Online (Sandbox Code Playgroud)

node.js package.json

65
推荐指数
3
解决办法
4万
查看次数

如何在Angular 2中设置Bootstrap navbar"active"类?

如何在Angular 2中设置Bootstrap navbar"active"类?我只找到了Angular 1方式.

当我转到" 关于"页面时,添加class="active"到" 关于",然后class="active"在" 主页"上删除.

<ul class="nav navbar-nav">
    <li class="active"><a [routerLink]="['Home']">Home</a></li>
    <li><a [routerLink]="['About']">About</a></li></li>
</ul>
Run Code Online (Sandbox Code Playgroud)

谢谢

nav twitter-bootstrap angular2-routing angular

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

如何在Angular 2中启动应用程序时运行服务

我创建了一个服务SocketService,基本上它初始化套接字让app监听端口.此服务还与某些组件交互.

// socket.service.ts

export class SocketService {
    constructor() {
        // Initializes the socket
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)

我知道SocketService的构造函数()中的代码只在组件使用SocketService时才开始运行.

通常app.ts中的代码如下所示:

// app.ts

import {SocketService} from './socket.service';
...
class App {
    constructor () {}
}
bootstrap(App, [SocketService]);
Run Code Online (Sandbox Code Playgroud)

但是,我想在应用启动时运行此服务.所以我做了一个技巧,只需添加private _socketService: SocketServiceApp的构造函数().所以现在代码看起来像这样:

// app.ts(新)

import {SocketService} from './socket.service';
...
class App {
    constructor (private _socketService: SocketService) {}
}
bootstrap(App, [SocketService]);
Run Code Online (Sandbox Code Playgroud)

现在它有效.问题是有时SocketService的构造函数()中的代码运行,有时不运行.那我该怎么做呢?谢谢

typescript angular

62
推荐指数
3
解决办法
6万
查看次数