我使用的是Angle 7.0.1和Angle Material 7.0.2,我想添加字体真棒5.4.2图标,并且尝试按照fontawesome网站上的步骤操作,但是我无法获得字体真棒图标字体。
第一:
npm install --save-dev @fortawesome/fontawesome-free
Run Code Online (Sandbox Code Playgroud)
然后在styles.scss中添加:
@import '~@fortawesome/fontawesome-free/scss/fontawesome.scss';
Run Code Online (Sandbox Code Playgroud)
并在_variables.scss中添加:
$fa-font-path: '~@fortawesome/fontawesome-free/webfonts';
Run Code Online (Sandbox Code Playgroud)
现在在app.component.ts中添加:
import { MatIconRegistry } from "@angular/material";
[...]
constructor(
public matIconRegistry: MatIconRegistry,
) {
matIconRegistry.registerFontClassAlias ('fas'); // tried with 'fas' and with 'fa'
}
Run Code Online (Sandbox Code Playgroud)
最后我打算用以下命令打印字体很棒的图标:
<mat-icon mat-list-icon fontIcon="fas github"></mat-icon> // tryed also with 'fas-github', 'fasGithub', 'github', 'fa-github', 'fa github' and 'faGithub'
Run Code Online (Sandbox Code Playgroud)
但是从未打印过字体超赞的图标字体。我错过了一些重要而又显而易见的东西,但是现在我没有看到它。
我正在学习 magento,我刚刚阅读了有关 EAV 的内容。如果我理解正确的话,它就像在 SQL 数据库上模拟 noSQL 数据库。因此,例如,像铅笔这样的产品在其描述中可以具有与计算机或球不同的属性。
但是我在一本书中读到了这个系统,比如:
所有这些灵活性和权力都不是免费的,需要付出代价;实施 EAV 模型会导致我们的实体数据分布在大量表上,例如,只有产品模型分布在大约 40 个不同的表上。
[...]
EAV 的另一个主要缺点是在检索大型 EAV 对象集合时会损失性能并增加数据库查询的复杂性。由于数据更加碎片化(存储在更多表中),选择单个记录涉及多个连接。
我是全新的,所以也许我失去了一些东西,但我的问题是:
为什么使用这种复杂的方式而不是使用基于文档的数据库作为 mongoDB?
我正在尝试渲染一个index.html但是我得到了错误enoent,即使是正确的路径.
//folders tree
test/server.js
test/app/routes.js
test/public/views/index.html
//routes.js
app.get('*', function(req, res) {
res.sendFile('views/index.html');
});
//server.js
app.use(express.static(__dirname + '/public'));
require('./app/routes')(app);
Run Code Online (Sandbox Code Playgroud)
我也试过了
res.sendFile(__dirname + '/public/views/index.html');
Run Code Online (Sandbox Code Playgroud)
如果我使用
res.sendfile('./public/views/index.html');
Run Code Online (Sandbox Code Playgroud)
然后它工作,但我看到一个警告,说sendfile已被弃用,我必须使用sendFile.
在angular中,我想生成一个MD5哈希,所以我尝试安装npm模块.我试过'crypto-js','angular-md5',但很多都没有结果.
最后,我尝试使用'ts-md5'并且像其他所有人一样给我一个错误.
第一 npm install --save ts-md5
然后:
import {Md5} from 'ts-md5/dist/md5';
@Injectable()
export class HeroService {
constructor(
private MD5: Md5
) { }
}
Run Code Online (Sandbox Code Playgroud)
但我得到错误:
[Error] ERROR – Error: Uncaught (in promise): Error: StaticInjectorError(AppModule)[HeroService -> Md5]:
StaticInjectorError(Platform: core)[HeroService -> Md5]:
NullInjectorError: No provider for Md5!
get
resolveToken
tryResolveToken
[...]
Run Code Online (Sandbox Code Playgroud)
是否有更好的模块加密md5?我该如何解决这个错误?
我仍在学习有角度的东西,我想提供一个具有布尔可观察值的服务,并订阅该可观察值。
我遵循了本教程,因为我真正想要的是在用户未登录时隐藏菜单导航链接,并且本教程几乎相同。
因此,在我的登录服务中:
export class LoginService {
private loggedIn = new BehaviorSubject<boolean>(false);
get isLoggedIn() {
console.log(this.loggedIn);
return this.loggedIn.asObservable();
}
constructor(
public http: Http,
public utilsService: UtilsService) { }
public login(credentials: Credentials): Observable<Response> {
// login code
// if user succeed login then:
this.loggedIn.next(true);
}
public logout(): Observable<Response> {
// logout code
// if user succeed logout then:
this.loggedIn.next(false);
}
}
Run Code Online (Sandbox Code Playgroud)
在我的组件中,我使用此功能
public isLoggedIn: boolean;
userIsLoggedIn() {
this._login.isLoggedIn().subscribe(
((res: boolean) => {
console.log(res);
this.isLoggedIn = res;
})
);
} …Run Code Online (Sandbox Code Playgroud)