我正在使用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) 有没有一种聪明的方法可以回到Angular 2的最后一页?
就像是
this._router.navigate(LASTPAGE);
Run Code Online (Sandbox Code Playgroud)
例如,页面C有一个Go Back按钮,
页面A - >页面C,单击它,返回页面A.
页面B - >页面C,单击它,返回到页面B.
路由器有这个历史信息吗?
我正在尝试升级到 React Router v6 ( react-router-dom 6.0.1)。
这是我更新的代码:
\nimport { 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>\nRun Code Online (Sandbox Code Playgroud)\n最后Route是将其余路径重定向到/.
但是,我收到了一个错误
\n\n\nTS2322:类型 \'{ 渲染:() => 元素;}\' 不可分配给类型“IntrinsicAttributes & (PathRouteProps | LayoutRouteProps | IndexRouteProps)\”。\xc2\xa0\xc2\xa0Property \'render\' 在类型 \'IntrinsicAttributes & (PathRouteProps | LayoutRouteProps | IndexRouteProps)\' 上不存在。
\n
然而,根据文档,它确实有renderfor Route. …
如果我不加私人之前foo,loadBar和text,我相信他们是公共默认情况下.
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)
谢谢
当我在模板中使用自定义管道时,就像这样.它运作良好.
{{user|userName}}
Run Code Online (Sandbox Code Playgroud)
是否可以在代码中使用管道?我试着这样用,
let name = `${user|userName}`;
Run Code Online (Sandbox Code Playgroud)
但它表明
userName未定义
我的替代方法是在代码中手动使用db.collection.findOne().但有什么聪明的方法吗?
我正在使用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) 我有一个变量.
abc:number|string;
Run Code Online (Sandbox Code Playgroud)
我该如何检查其类型?我想做类似下面的事情:
if (abc.type === "number") {
// do something
}
Run Code Online (Sandbox Code Playgroud) 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) 如何在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)
谢谢
我创建了一个服务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的构造函数()中的代码运行,有时不运行.那我该怎么做呢?谢谢
angular ×6
typescript ×4
angular-pipe ×1
css ×1
javascript ×1
nav ×1
node.js ×1
package.json ×1
react-router ×1
reactjs ×1