Angular ngOnInit默认提供生命周期钩子.
ngOnInit如果我们已经有了,为什么要使用constructor?
我试图DatePipe在Angular 2中使用.我希望输出日期格式为:08/23/2017 at 11:07 AM.
但是,我无法找出at以我的日期格式包含文本的正确方法.
当我指定格式时: {{my_date | date:'MM/dd/yyyy at hh:mm a'}}
我明白了:08/23/2017 AMt 11:07 AM.
我试着在引号中包围文本: {{my_date | date:'MM/dd/yyyy "at" hh:mm a'}}
但这只是在输出中添加了引号:08/23/2017 "AMt" 11:07 AM.
唯一的方法是将它分成两个独立的管道,格式的两边是{{my_date | date: 'MM/dd/yyyy}} at {{my_date | date: 'hh:mm a'}}什么样的?
或者有没有办法逃脱ain,at以便它将显示文本at而不是AMt?
您好我试图延迟加载"详细模块",同时通过URL发送参数.
这是我的懒加载路线:
{
path: 'venue/:name/:id',
loadChildren: () => System.import('../containers/activity-detail/activity-detail.module').then((file: any) => {
return file.default;
})
},
Run Code Online (Sandbox Code Playgroud)
我想路由到这个'activity-detail.module',然后使用":name"和"id:"参数加载详细信息.
加载的模块有自己的路由文件.
export const VenueDetailRoutes: Route[] = [
{
path: '',
redirectTo: 'venue/:name/:id',
pathMatch: 'full'
},
{
path: 'venue/:name/:id',
component: VenueDetailComponent,
data: {
shouldDetach: true, // Route will be resused. See CustomResuseStrategy.
title: null
}
},
{
path: '**',
redirectTo: '/'
}
];
Run Code Online (Sandbox Code Playgroud)
似乎没有第一个默认对象没有任何作用.我收到错误:
{
path: '',
redirectTo: 'venue/:name/:id',
pathMatch: 'full'
},
TypeError: Cannot read property 'path' of null
Run Code Online (Sandbox Code Playgroud)
使用默认对象我得到错误:
Error: Cannot redirect to …Run Code Online (Sandbox Code Playgroud) 我有一个组件,其中定义了一个路由器插座(ParentComponent)。
<mat-accordion>some content</mat-accordion>
<mat-progress-bar *ngIf="loading"></mat-progress-bar>
<router-outlet></router-outlet>
Run Code Online (Sandbox Code Playgroud)
我也有一个带有路由定义的路由器模块:
{path: 'parent', component: ParentComponent, children: {path: 'sub', loadChildren: () => import('./sub/sub.module').then(mod => mod.SubModule)}}
Run Code Online (Sandbox Code Playgroud)
因此,它懒惰地加载SubModule模块,该模块只有一个路径,该路径在解析某些数据后呈现:
{path: '', component: SubComponent, resolve: {data: SubResolverService}
Run Code Online (Sandbox Code Playgroud)
默认情况下,用户先通过“父”路线,然后才使用按钮加载“父/子”,以便显示手风琴和载荷。
但是,当url被明确写入并且我们直接转到“父/子”路径时,应用程序将等待子解析器获取数据,并且只有在此之后它才会呈现手风琴和进度条,因此用户必须凝视空白页,直到加载了每个路线数据。
有没有一种方法可以先渲染父组件,然后显示进度条,然后才开始解析子路线,该方法才会显示?
我正在构建一个应用程序,该应用程序将城市名称发送到 api 端点并返回该城市的天气。
它使用两个操作,一个更新城市,使用名称作为有效负载,操作二加载返回的新数组以更新状态
效果使用switchMap映射api调用然后返回结果。
用于显示商店结果的 select 函数仅在页面加载(空数组)和第一组结果时检测商店更新
并且在之后没有检测到我商店内的变化
页面显示数组中的第一个对象,但状态中有 3 个对象。
应用状态:
import { Cities } from '../../model/weather';
//Holds data for city weather
export interface AppState {
readonly cityWeather: Cities[];
}
Run Code Online (Sandbox Code Playgroud)
在 app.module 中:
import {cityWeather} from './weather/store/reducers/weather';
export const reducers = {
cityWeather
};
StoreModule.forRoot(reducers, {initialState: undefined})
Run Code Online (Sandbox Code Playgroud)
减速机:
export function cityWeather(state:Cities[] = [], action:Action) : any {
switch (action.type) {
case LOAD_CITIES_ACTION:
return handleLoadCitiesAction(state, action);
case UPDATE_CITIES_ACTION:
console.log(state)
return handleUpdateCitiesAction(state, action);
default:
return state;
}
}
function handleUpdateCitiesAction(state, …Run Code Online (Sandbox Code Playgroud)