小编Tim*_*çek的帖子

Firebase 抛出错误:找不到模块:错误:默认条件应该是最后一个

有趣的是,从今天早上开始,我已经使用了AngularCrashlytics(from @angular/fire)一段时间,我无法得到buildor ,ng serve这会引发如下错误。有人可以帮助我摆脱这个吗?

在此输入图像描述

app.module已经添加了@angular/fire相关的配置步骤,如下所示(取自https://github.com/angular/angularfire/blob/master/docs/analytics/getting-started.md

import { AngularFireModule } from '@angular/fire/compat';
import { AngularFireAnalyticsModule } from '@angular/fire/compat/analytics';

imports:[
AngularFireModule.initializeApp(environment.Tools.Firebase)//firebase releated config,
AngularFireAnalyticsModule
]
Run Code Online (Sandbox Code Playgroud)

我有如下提到的配置ng version 在此输入图像描述

package.json 中的依赖版本

"firebase": "^9.14.0",
"@angular/fire": "^7.4.1"
Run Code Online (Sandbox Code Playgroud)

附加说明:已经从头开始克隆的项目多次尝试删除node modules文件夹,npm install此外还尝试将 firebase 和 @angular/fire 升级到最新版本,但没有解决问题。

google-analytics firebase crashlytics angularfire angular

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

有没有办法以编程方式更改激活的 mat-tab?

我想更改打字稿文件中激活的 mat-tab 。在这里以编程方式选择 Angular 2 材料中的 md-tab我找到了最接近的解决方案,但对于 md-tab 不是 mat-tab。我尝试了这个,但没有成功。这是我尝试过的

超文本标记语言

  <button class="btn btn-primary" (click)="changeTab()">Click me!</button>

    <mat-tab-group [selectedIndex]="selectedTab">
        <mat-tab label="Preview"> 
    </mat-tab>
        <mat-tab label="Tuning">
        <car-tuning></car-tuning>
        </mat-tab>
        <mat-tab label="Payment"></mat-tab> 
      </mat-tab-group> 
Run Code Online (Sandbox Code Playgroud)

.TS 文件

 changeTab() {
     this.selectedTab =1;
}
Run Code Online (Sandbox Code Playgroud)

javascript typescript angular-material angular

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

如何在拖动时保持行的大小?

我有一个示例应用程序,我使用cdk-Dragging. 问题是当我拖动它时,cdk-drag-preview正在应用一个名为的类并使拖动的行变小。

在此输入图像描述

在上面您可以看到,当我尝试拖动时,拖动的行会变得越来越小,直到我将其放下。我希望它和其他的一样大,永远不会改变。我尝试向此类添加属性,但无法使其工作。我怎样才能保持这一行的宽度?

这是我在 stackblitz 上尝试过的:

https://stackblitz.com/edit/angular-gbls7d-or2y5z?file=src/app/cdk-drag-drop-connected-sorting-example.html

drag-and-drop angular angular-cdk

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

如何根据条件禁用 CDK Drop

由于某些条件,我试图找到一种如何通过使用 CDK 禁用删除的方法。如果我想删除的列表为空,则应禁用。我找不到在 .ts 文件中的方法中执行此操作的方法.有一些 HTML 指令,但对我没有用。

if(event.container.data.length==1){
  event.previousContainer.disabled=true;
}
Run Code Online (Sandbox Code Playgroud)

我找到了用于拖动容器的 .disabled 方法,但它仅在我拖动时有效。我需要一个事件来放置。

https://stackblitz.com/edit/angular-ui7u9m?file=src/app/cdk-drag-drop-disabled-sorting-example.ts

在这个 stackblitz 示例中,有两个列表,例如,当 Avilable 列表为空(数组中没有元素)时,不应再向此列表中删除。你能帮我这样做吗?

typescript angular angular-cdk

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

如何使用 Mat-Select 属性 [Selected]

我有一个允许翻译 pipng 的组件(通过资产下的 .json 文件)。它与默认选择框完美配合,可以选择我们希望显示的语言。如下所示(效果很好)

  <select #langSelect (change)="translate.use(langSelect.value)">
   <option *ngFor="let lang of translate.getLangs()" 
   [value]="lang" 
   [selected]="lang === translate.currentLang">{{ lang }}
   </option>
   </select>
Run Code Online (Sandbox Code Playgroud)

但为了让它看起来更好,我想用mat-select下面我尝试实现的方式来实现这个逻辑。

带垫选择

  <mat-form-field>
    <mat-select #langSelect (change)="translate.use(langSelect.value)"  
     placeholder="Select offer" 
    formControlName="promo" [(value)]="selected">
    <mat-option *ngFor="let lang of translate.getLangs()" 
    [value]="lang" 
    [selected]="lang === translate.currentLang"
     >{{ lang }}
    <i class="material-icons">info</i>
    </mat-option>
    </mat-select>
    </mat-form-field>
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时,由于mat-option标记内未知的 [selected] 绑定而发生错误。我不知道是否有任何方法可以无错误地实现它。这里控制台中的错误发生在下面

错误

Uncaught Error: Template parse errors:
No provider for NgControl ("">{{ lang }}</option>
                              </select> -->
                                  [ERROR ->]<select #langSelect (change)="translate.use(langSelect.value)"  placeholder="Select offer" formContro"): ng:///AppModule/HeaderComponent.html@17:34
Run Code Online (Sandbox Code Playgroud)

应用程序模块.ts

  import …
Run Code Online (Sandbox Code Playgroud)

html typescript angular-material angular

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

ngSwitchCase 没有提供者

我正在看教程并试图做我学到的东西。我在下面遇到错误。我不明白为什么我在浏览器控制台上有这个错误消息。它说[ERROR ->]<span *ngSwitchCase="true"> 但我不知道为什么它说 ngSwitchCase 是错误的。检查了所有文件和代码,但似乎没有问题。我的错误在哪里?

错误

Uncaught Error: Template parse errors:
No provider for NgSwitch ("       <td>{{item.description}}</td>
              <td [ngSwitch]="item.action"></td>
              [ERROR ->]<span *ngSwitchCase="true">
                  Yes
              </span>
"): ng:///AppModule/AppComponent.html@25:14
No provider for NgSwitch ("
                  Yes
              </span>
              [ERROR ->]<span *ngSwitchCase="false">
                  No
                </span>
"):
Run Code Online (Sandbox Code Playgroud)

应用程序组件.html

  <table class="table table-striped table-bordered">
                <thead>
                   <tr>
                     <th></th>
                     <th>Description</th>
                     <th>Action</th>
                   </tr>
                </thead>
                <tbody>
                <tr *ngFor="let item of items;let i=index">
                  <td>{{i+1}}</td>
                  <td>{{item.description}}</td>
                  <td [ngSwitch]="item.action"></td>
                  <span *ngSwitchCase="true">
                      Yes
                  </span>
                  <span *ngSwitchCase="false">
                      No
                    </span>
                </tr>
                </tbody>
              </table>
Run Code Online (Sandbox Code Playgroud)

app.comonent.ts

export class AppComponent { …
Run Code Online (Sandbox Code Playgroud)

html javascript css angular

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

如何解决 SQL 在代码优先迁移部署 Azure 期间找不到数据类型 BLOB

我想将当前在 ASP.NET Core 上使用的 sqlite 数据库与 Azure SQL 交换。我生成了资源,sql server 项目中定义的所有内容。

当我想将应用程序发布到云中的azure和sql数据库的部署服务器时,它说Cannot find data type BLOB。我在互联网上检查了解决方案,但没有工作。我想我必须更新我的模型,但我不知道以什么方式?

首先我在这里useSqlLiteServer改为UseSqlServer

  services.AddDbContext<DataContext>(x => x.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
Run Code Online (Sandbox Code Playgroud)

我还应该对下面列出的模型进行哪些更改,下面列出了我的一个模型,其他模型也类似

namespace HospitalAppointmentAPI.Models
{
    public class Patient
    {   
        public int Id { get; set; }
        public string IdentityNumber { get; set; }
        public string Name { get; set; } 
        public byte[] PasswordHash { get; set; }
        public byte[] PasswordSalt { get; set; }
        public DateTime BirthDate { get; set; }
        public string Email { get; …
Run Code Online (Sandbox Code Playgroud)

c# sql azure asp.net-core

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

如何在 Angular 上为 ag-Grid 监听 sortChange(event)?

我这里有非常基本的例子:https : //stackblitz.com/edit/angular-ag-grid-angular-cwvpic?file=app/my-grid-application/my-grid-application.component.ts

在这个ag-grid我想打印哪一列点击并以什么方式排序。要做到这一点,我基本上sortChange(event)在官方文档上找到了方法。但我找不到实现这种方法的方法。这是我尝试过的。

 sortChange(event){
      console.log(event);
    }

<div style="width: 200px;">
    <ag-grid-angular
     (sortChange)="sortChange($event)" 
     #agGrid style="width: 100%; height: 200px;" 
    class="ag-theme-fresh" [gridOptions]="gridOptions">
    </ag-grid-angular>
</div>
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不起作用。它什么也不打印。你知道我如何用列名监听每一列的排序变化吗?

javascript typescript ag-grid angular

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

如何使用一个值 Javascript 更改一系列数组?

我有一个像下面这样的数组让我们说

var myArray = ["1", "", "", "2","3","","","8"];
Run Code Online (Sandbox Code Playgroud)

我想用以前的非空值填充每个“”值

根据那个期望应该像下面

var myArray = ["1", "2", "2", "2","3","8","8","8"];
Run Code Online (Sandbox Code Playgroud)

这是我尝试过但没有用的

var myArray = ["1", "", "", "2","3","","","8"];
Run Code Online (Sandbox Code Playgroud)

javascript arrays

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

哪种迭代数组和按地图更改元素的方法更有效?

我有一个关于 map 的问题。如您所知,通过使用 map,我们可以迭代数组并能够更改数组的元素。为此,有两种方法,我在下面列出了它们。哪种方法具有较低的复杂性和较高的性能?(在示例数组并不大,但想想现实世界,比如数组中有 500 个元素)

var numbers = [4, 9, 16, 25];
numbers=numbers.map(e=>{
 return e=e*2;
})
Run Code Online (Sandbox Code Playgroud)

在这种方法中,将每个返回值分配给当前数组。

numbers.map((e,a)=>{
  numbers[a]=e*2;
})
Run Code Online (Sandbox Code Playgroud)

在每次迭代中,我们需要按索引访问数组以查找元素,我认为这比上面的更糟糕,但我不确定。

javascript arrays dictionary

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