小编ToD*_*oDo的帖子

Angular 2 - PrimeNg风格不起作用

我按照说明安装了primeng,npm install primeng --save然后运行然后在app.module.ts文件中导入我需要的东西,例如:

import {CheckboxModule} from 'primeng/primeng';  

...

imports: [
    CheckboxModule,
  ],...
Run Code Online (Sandbox Code Playgroud)

然后我将样式表添加到index.html文件中:

<head>
  ...
    <link rel="stylesheet" type="text/css" href="../node_modules/primeng/resources/themes/omega/theme.css" />
    <link rel="stylesheet" type="text/css" href="../node_modules/primeng/resources/primeng.min.css" />
    <link rel="stylesheet" type="text/css" href="../node_modules/font-awesome/css/font-awesome.min.css" />
</head>
Run Code Online (Sandbox Code Playgroud)

我的IDE可以找到文件位置(通过按住ctrl并单击href值),但浏览器找不到它(404错误).

我复制了复选框示例(http://www.primefaces.org/primeng/#/checkbox)并将其添加到我的一个组件中,但样式与普通复选框相同.

此外,不会抛出其他错误.

样式是否应该添加到另一个文件?我不确定为什么它不起作用.

primeng angular

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

Angular 2 - 没有提供程序错误(即使我添加了提供程序)

我正在尝试从特定类调用服务,但由于某种原因它无法调用,即使我能够在其他类中使用它.我正在使用@Input.我不知道这是否是造成问题的原因.

码:

import { Component, Input, OnInit } from '@angular/core';

import { Category } from './../Category';
import { CertService } from './../../shared/Service/cert.service';

@Component({
  selector: 'app-cert-item',
  templateUrl: './cert-item.component.html'
})
export class CertItemComponent implements OnInit {

  @Input() category: Category;
  @Input() categoryId: number;
  constructor(
    private certService: CertService //Console error "No provider for CertService!"
  ) { }

  ngOnInit() {
    console.log(this.certService.getCategories());
  }

}  
Run Code Online (Sandbox Code Playgroud)

app.module.ts

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import …
Run Code Online (Sandbox Code Playgroud)

angular

3
推荐指数
1
解决办法
6362
查看次数

Angular 2/4 - 在前端存储当前用户对象详细信息(而不是向后端发送连续的HTTP请求)

我想要一种有效的方法来存储(和更新)前端中的当前用户详细信息,而不是在加载新组件时向后端发出新的HTTP GET请求.

我添加了一个UserService类,它在调用类中的方法时设置/更新currentUser对象.

import { Http, Response } from '@angular/http';
import { Injectable } from '@angular/core';

@Injectable()
export class UserService {

    public currentUser: any;

  constructor(private http: Http) { }

  updateCurrentUser() {
    this.http.get('api/login/currentUser').subscribe(data => {
        this.currentUser = data;
    });
  }

}
Run Code Online (Sandbox Code Playgroud)

我发现这种方法会导致竞争条件问题.例如,如果currentUser.username在概要文件组件中请求但服务类尚未完成请求,则会发生错误.

我也尝试检查是否currentUser未定义然后调用updateCurrentUser()但它似乎不起作用.

if(this.userService.currentUser === undefined){
    this.userService.updateCurrentUser();
} 
Run Code Online (Sandbox Code Playgroud)


更新:浏览器控制台中显示的错误消息 在此输入图像描述


使用的HTML更新:
我使用数据绑定来显示用户名(直接从UserService类调用它).例如

<span class="username-block">{{userService.currentUser.username}}</span>
Run Code Online (Sandbox Code Playgroud)

我也尝试将currentUser对象分配给我试图显示用户名的组件中的变量,但它具有相同的结果.


我将不胜感激任何帮助/反馈.

typescript angular

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

Angular 2 响应式标题 - 展开/切换按钮在移动视图中不起作用

切换按钮显示在移动视图中,但不可单击。In AngularappDropdown用于定义下拉按钮。是否有类似的方法来修复切换按钮?

不幸的是,我无法在这里显示图像,但“管理”下拉按钮还有另一个问题。当我将鼠标悬停在内部<li>(例如“注册”...)上时,它将颜色更改为灰色。

添加href= "#"会删除不需要的颜色更改,但单击时会刷新整个页面。

这是 HTML:

<nav class="navbar navbar-webmaster">
<div class="container">
    <div class="navbar-header">
        <button type="button" appDropdown class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
        </button>
        <a class="navbar-brand" [routerLink]="['/']">Title</a>
    </div>

    <div class="collapse navbar-collapse" id="navbar">
        <ul class="nav navbar-nav navbar-right">
            <li class="active"><a href="#">Sublime<span class="sr-only"></span></a></li>
          <li class="dropdown" appDropdown *ngIf="userService.isAdmin">
      <a class="dropdown-toggle" role="button" aria-haspopup="true" aria-expanded="false">Administration <span class="caret"></span></a>
      <ul class="dropdown-menu">
        <li><a [routerLink]="['/register']">Registration</a></li>
        <li><a>Other Admin  Stuff</a></li>
        <li role="separator" class="divider"></li>
        <li><a>Another Admin Stuff</a></li>
      </ul>
    </li>
        </ul> …
Run Code Online (Sandbox Code Playgroud)

html css responsive-design responsive angular

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