将材质模块导入 Angular 8 项目的最佳方法是什么?是通过将material.module.ts导入到app主模块然后在其他模块中使用它:
import { NgModule } from '@angular/core';
import {
MatButtonModule,
MatMenuModule,
MatToolbarModule,
MatIconModule,
MatCardModule
} from '@angular/material';
@NgModule({
imports: [
MatButtonModule,
MatMenuModule,
MatToolbarModule,
MatIconModule,
MatCardModule
],
exports: [
MatButtonModule,
MatMenuModule,
MatToolbarModule,
MatIconModule,
MatCardModule
]
})
export class MaterialModule {}
Run Code Online (Sandbox Code Playgroud)
还是直接导入各个模块中主要用到的材质模块?
例如,如果我只使用mat-cardin ProductsModule,我只需导入MatCardModule产品模块并完成它。
我正在使用bootstrap 4,并且想创建一个蓝色的徽章,所以我使用了:
<td><a href="patient_history.php?pid=<?php echo $patient['patient_id']; ?>"><i class="badge badge-info">Edit History</i></a></td>
Run Code Online (Sandbox Code Playgroud)
在的表格中class="table table-hover",结果是默认的徽章颜色而不是蓝色。
我需要与我的 PHP-PDO Web 应用程序建立 SSL 连接。我有 MySQL Workbench 5.7,但我不知道如何以及从哪里开始。
\n\n我在网上看到了不同的帖子,解释了如何使用手册中的mysqld6.4.4shell>配置MySQL 以使用安全连接和5.3.4 SSL 向导(证书)来执行此操作。
我将连接更改为:
\n\n$conn = new PDO("mysql:host=$dbhost;dbname=$dbname",$dbuser,$dbpass, array(\n PDO::MYSQL_ATTR_SSL_KEY =>\'/etc/mysql/ssl/client-key.pem\',\n PDO::MYSQL_ATTR_SSL_CERT=>\'/etc/mysql/ssl/client-cert.pem\',\n PDO::MYSQL_ATTR_SSL_CA =>\'/etc/mysql/ssl/ca-cert.pem\'\n ));\n$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);\n$conn->exec("SET CHARACTER SET utf8mb4");\nRun Code Online (Sandbox Code Playgroud)\n\n然后我转到 MySQL Workbench 并单击Database \xe2\x86\x92 Connect To Database \xe2\x86\x92 SSL Tab \xe2\x86\x92 SSL Wizard。我检查了一下Use default Parameters,发现了这个错误:
OpenSSL Win64 安装在C:\\OpenSSL-Win64.
有什么问题以及如何解决它?
\n我有未知数量的卡,我想在上面对这些卡进行显示,并将每两张卡显示在一行
<mat-card class="example-card">
<mat-card-header>
<div mat-card-avatar class="example-header-image"></div>
<mat-card-title>{{user.firstName}}</mat-card-title>
<mat-card-subtitle>{{user.lastName}}</mat-card-subtitle>
</mat-card-header>
<mat-card-content>
<p>
The Shiba Inu is the smallest of the six original and distinct spitz breeds of dog from Japan.
A small, agile dog that copes very well with mountainous terrain, the Shiba Inu was originally
bred for hunting.
</p>
</mat-card-content>
<mat-card-actions>
</mat-card-actions>
</mat-card>
Run Code Online (Sandbox Code Playgroud)
我正在使用角度5和材质设计6,无论如何要这样做?
我有以下具有数据源属性的角度材质表:
<div class="dim">
<mat-form-field >
<input matInput class="warn" (keyup)="applyFilter($event.target.value)" placeholder="Search">
<mat-icon matSuffix>search</mat-icon>
</mat-form-field>
</div>
<div class="mat-elevation-z2">
<table mat-table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="unit_id">
<th mat-header-cell *matHeaderCellDef mat-sort-header>ID</th>
<td class="alignTd" mat-header *matCellDef="let row">{{row.id}}</td>
</ng-container>
<ng-container matColumnDef="unit_type">
<th mat-header-cell *matHeaderCellDef mat-sort-header>Type</th>
<td mat-header *matCellDef="let row">{{row.unit_type}}</td>
</ng-container>
<ng-container matColumnDef="location_id_auto">
<th mat-header-cell *matHeaderCellDef mat-sort-header>Location</th>
<td mat-header *matCellDef="let row">{{row.location}}</td>
</ng-container>
<ng-container matColumnDef="user_id">
<th mat-header-cell *matHeaderCellDef mat-sort-header>User</th>
<td mat-header *matCellDef="let row">{{row.user}}</td>
</ng-container>
<ng-container matColumnDef="unit_number_hh">
<th mat-header-cell *matHeaderCellDef mat-sort-header>Number Of units</th>
<td mat-header *matCellDef="let row">{{row.unit_number}}</td>
</ng-container>
<ng-container matColumnDef="unit_status"> …Run Code Online (Sandbox Code Playgroud) 我正在加密用户 ID,crypto-js通过 url 发送它,如下所示,以便用户在单击时验证它:
http://localhost:3000/api/customer/activate/U2FsdGVkX1DXzzLuf9TgBf31Mc2V/QBVAN05PovlNM
这是加密的用户 ID:
U2FsdGVkX1DXzzLuf9TgBf31Mc2V/QBVAN05PovlNM
使用加密js encrypt:
crypto.AES.encrypt(term.toString(), config.CRYPTO_PASSPHRASE_RES).toString(crypto.enc.Utf8)
Run Code Online (Sandbox Code Playgroud)
当我运行 API 时,它返回route not found,当我/从加密的用户 ID 中删除时,它起作用了。
如何防止 crypto-js 添加/到加密 ID 中?
我正在学习关于autocad 2D的课程,我们练习了以下形状:
问题是我无法计算用红线给半径着色的圆的实际半径.
我可以计算它们之间的偏移量.例如,图像顶部的2个圆的偏移量为:(0.1625-0.750)/ 2 = 0.4375但不能知道较小圆的半径.
编辑:
我试着按照自己的测量方法,但现在我陷入困境(白色).如何绘制圆圈的那一部分?
我正在我的 Angular 5 项目中处理路由部分。
我做了以下事情:
我创建了一个名为的新路由模块routes.module.ts:
import { RouterModule, Routes } from '@angular/router';
import { UdemyComponent } from './udemy/udemy.component';
const appRoutes: Routes = [
{path: 'udemy', component: UdemyComponent}
];
@NgModule({
imports: [
RouterModule.forRoot(appRoutes, { enableTracing: true})//<--Debugging purposes only)
]
});
export class RouteModule {}
在app.module.ts:
import { RouterModule, Routes } from '@angular/router';
import { RouteModule } from './routes.module';
imports: [
BrowserModule,
ReactiveFormsModule,
HttpClientModule,
RouterModule
],
Run Code Online (Sandbox Code Playgroud)我在 app.component.ts 中添加了以下内容:
最后,我遇到了以下错误:
AppComponent.html:59 错误错误:StaticInjectorError[ChildrenOutletContexts]:
StaticInjectorError[ChildrenOutletContexts]:NullInjectorError:没有提供 ChildrenOutletContexts!在NullInjector.get (core.js:993) at …
我从 MySQL 数据库获取用户列表以<mat-table>使用dataSource属性显示它:
以下是 typescript 方法getUnitData(),我将 dataSource 值设置为从 PHP 脚本返回的 JSON 数组:
export class RegistrationComponent implements OnInit {
dataSource: MatTableDataSource<units>;
@ViewChild(MatPaginator) paginator: MatPaginator;
@ViewChild(MatSort) sort: MatSort;
constructor(private auth: AuthApiService) { }
ngOnInit() {
this.dataSource.paginator = this.paginator;
this.dataSource.sort = this.sort;
}
applyFilter(filterValue: string){
this.dataSource.filter = filterValue.trim().toLowerCase();
if(this.dataSource.paginator)
{
this.dataSource.paginator.firstPage();
}
}
getUnitData(){
this.auth.getUnitDataService().subscribe(
(data)=>
{
this.dataSource = new MatTableDataSource(data);
},
(error)=>
{
}
)
}
}
Run Code Online (Sandbox Code Playgroud)
这是来自的主要方法AuthApiService:
getUnitDataService(){
if(this.checkIsLogin){
this.headerOptions.append('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8');
return …Run Code Online (Sandbox Code Playgroud) 编辑#2
在我的www/目录中,我有我的服务器脚本和文件.htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([\w-]+)$ api.php [L]
DirectoryIndex api.php
#RewriteCond %{REQUEST_URI} !echo.php
#RewriteRule .* echo.php?ua=%{HTTP_USER_AGENT}&https=%{HTTPS} [L]
SetEnvIf Origin "^http(s)?://(.+\.)?(dev.local\.com|localhost:8100|localhost:4200)$" ORIGIN=$0
Header always set Access-Control-Allow-Origin %{ORIGIN}e env=ORIGIN
Header merge Vary Origin
Header set Access-Control-Allow-Credentials "true"
Header set Access-Control-Allow-Headers "Content-Type, cookie"
Header set Content-Type "application/json"
Header set Access-Control-Allow-Methods "GET, POST"
# prevent mime based attacks
Header set X-Content-Type-Options "nosniff"
Run Code Online (Sandbox Code Playgroud)
在我的桌面上,我有运行的 Angular 项目:
ng build --prod --aot
Run Code Online (Sandbox Code Playgroud)
我里面有一个文件夹,名为dist/angular/ …
我有一个材料日期选择器,它由 mysql 数据库发送的值设置。
该按钮始终处于禁用状态,不应如此,因为日期选择器已包含一个值。但是当我使用日期选择器将值更改为另一个日期时,该按钮已启用。
这里是脚本(我使用日期的静态值来模拟来自服务器的相同值):
从服务器返回的值2018-2-12 00:00:00显示在日期选择器中,就像2/12/2018我的项目一样,但在 stackblitz 上它显示为2/12/2018 00:00:00.
html脚本:
<form [formGroup]="formGroup">
<mat-card>
<mat-card-content>
<h2 class="example-h2">Datepicker</h2>
<mat-form-field color="warn" appearance="outline">
<input matInput id="date_added" [max]="maxDate" [matDatepicker]="picker" [value]="dateFormat"
formControlName="date_added" placeholder="Date Added">
<mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
<mat-datepicker #picker></mat-datepicker>
</mat-form-field>
</mat-card-content>
</mat-card>
<button mat-raised-button color="warn" (click)="updateHouseholdData()" [disabled]="!formGroup.valid">
<mat-icon>update</mat-icon>Update
</button>
</form>
{{formGroup.controls.date_added.errors | json}}
<br>
{{formGroup.controls.date_added.value | json}}
Run Code Online (Sandbox Code Playgroud)
打字稿:
export class AppComponent {
formGroup: FormGroup;
dateFormat;
constructor(private fb: FormBuilder)
{
this.formGroup = this.fb.group({
'date_added': new FormControl('', Validators.required)
})
} …Run Code Online (Sandbox Code Playgroud) 我正在将数据加载到雪花数据仓库建模数据库中。当行的字段被更新时,模型的工作方式如下:
current_timestamp()。我merge在 JavaScript 过程中使用 Snowflake 中的命令来执行此操作:
var observarion_query = "MERGE INTO HUB_OBSERVATION AS OBS "+
"USING (SELECT DATE(T.$"+OBSERVATION_DATE+", 'DD/MM/YYYY') AS OBS_DATE, T.$"+LOCATIONS+", T.$"+SUBMISSION_TIME+" FROM "+FILE_FULL_PATH+"(FILE_FORMAT=>"+FILE_FORMAT_NAME+") T) ST "+
"ON md5(CONCAT(ST.OBS_DATE, CONCAT('CAMP', CONCAT(ST.$"+LOCATION_POSITION+", ST.$"+SUBMISSION_TIME+")))) = OBS.OBSERVATION_DATE_LOCATION_HASH_KEY "+
"WHEN MATCHED THEN UPDATE SET OBS.LOAD_END_DT = CURRENT_TIMESTAMP() "+
"WHEN NOT MATCHED THEN "+
"INSERT (OBSERVATION_DATE_LOCATION_HASH_KEY, LOAD_DT, LOAD_END_DT, RECORD_SRC, OBSERVATION_DATE, LOCATION_NAME) "+
"VALUES (md5(CONCAT(ST.OBS_DATE, CONCAT('CAMP', CONCAT(ST.$"+LOCATION_POSITION+", ST.$"+SUBMISSION_TIME+")))), current_timestamp(), NULL, 'ONA', ST.OBS_DATE, CONCAT('CAMP', ST.$"+LOCATION_POSITION+")) ";
Run Code Online (Sandbox Code Playgroud)
问题在于WHEN MATCHED THEN …
angular ×6
angular6 ×3
angular5 ×2
datasource ×2
php ×2
2d ×1
angular7 ×1
angular8 ×1
autocad ×1
bootstrap-4 ×1
cad ×1
cryptojs ×1
data-vault ×1
datepicker ×1
encryption ×1
express ×1
merge ×1
mysql ×1
node.js ×1
openssl ×1
pagination ×1
pdo ×1
router ×1
routes ×1
snowflake-cloud-data-platform ×1
sql ×1
ssl ×1
wamp ×1
wampserver ×1