我创建了一个 Web 组件,并从我的资产文件夹中引用了图像
如下
 <img src="./assets/bot.png" alt="{{botTitle}}" />
在本地一切都很好,我将自定义元素发布到了 firebase 主机,并且 javascript、css 和资产文件夹已经存在于我的主机上。
然后我尝试在另一个 html peage 中使用我的 web 组件,如下所示
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>TMIBot</title>
    <base href="/">
    <meta name="viewport" content="height=device-height, width=device-width, initial-scale=1.0, user-scalable=no">
    <title>Test Angular Elements</title>
    <link rel="stylesheet" href="https://myproject.firebaseapp.com/dist/dlx-styles-1.0.css">
</head>
<body>
    <dlx-chat></dlx-chat>
    <script type="text/javascript" src="https://myproject.firebaseapp.com/dist/dlx-chatbot-1.0.js"></script>
</body>
</html>
并通过本地 http 服务器(http-server)提供服务
问题是正在加载的图像./assets/bot.png在托管网站中不存在,而它们存在于我在 firebase 中发布的网站上。
我知道我可以通过完整的 url 来引用它们,但我也认为有一个明显的解决方案,但我错过了。
我感谢帮助
我从中下载了默认的主 - 详细信息模板onsen ui,然后开发了基于它的cordova移动应用程序.导航栏中的标题标题以pc浏览器和chrome纹波为中心,但不在设备上.在设备上它会粘在左边.我已添加此样式以查看正在发生的事情.
    .navigation-bar__center
    {
        text-align:center;
        border:solid;
        border-width:1px;
    }
    .navigation-bar
    {
        border:solid;
        border-color:#f00;
        border-width:1px;
    }
似乎标题的对应div没有拉伸.
这是在PC浏览器上

这是在移动设备上(三星android 4.2)

PS.所有页面上都存在问题.
我使用的开发移动应用程序angular2和ionic 2,我有3 buttons对call,sms并且email如下
          <a ion-button href="tel:{{contact.cellphone}}" color="primary">
            <ion-icon name="call"></ion-icon>
            Call
          </a>
          <a ion-button href="sms:{{contact.cellphone}}" color="secondary">
            <ion-icon name="text"></ion-icon>
            SMS
          </a>
          <a ion-button href="mailto:{{contact.email}}" color="dark">
            <ion-icon name="mail"></ion-icon>
            Email
          </a>
Call并且email工作正常,但不是sms,似乎角度unsafe:在我的表达前面添加,它将变得像下面
<a color="secondary" ion-button="" ng-reflect-color="secondary" class="button button-md button-default button-default-md button-md-secondary" ng-reflect-href="unsafe:sms:+16475374201" href="unsafe:sms:+16475374201"><span class="button-inner">
即使我试过这个
      <a ion-button [attr.href]="'sms:'+contact.cellphone" color="secondary">
        <ion-icon name="text"></ion-icon>
        SMS
      </a>
还是一样的问题,
当我不使用角度绑定时,它工作正常,例如像这样
          <a ion-button href="sms:+1647654654" color="secondary">
            <ion-icon name="text"></ion-icon>
            SMS
          </a>
虽然它与角度有关,但我也检查了我的config.xml并且 …
我有一个像下面的数组
const data = [
    {
        name:'AAAA',
        group: 'A',
        age:10
    },
    {
        name:'ABCD',
        group: 'A',
        age:10
    },
    {
        name:'DJSHDJH',
        group: 'B',
        age:15
    },
    {
        name:'FJHF',
        group: 'B',
        age:20
    }
]
我想找到不同的数据group,并age通过es6
预期结果
[
    {
        group: 'A',
        age: 10
    },
    {
        group: 'B',
        age: 15
    },
    {
        group: 'B',
        age: 20
    }
]
我尝试过[... new Set(data.map(x => {x.group, g.age}))]但没有机会
我知道如何循环数据并找到唯一值,但我想使用es6函数
我有一个角度为 7 的项目
我有带<a>标签的路由器链接,我有嵌套<a>标签,两者都有routerLink属性,
我面临的问题是,内部<a>路线不起作用
<a [routerLink]="[ './comp1']">
    Comp1
    <a [routerLink]="['./comp2']">
        Navigate to comp2 (Nested)
    </a>
</a>
如果我将它分开,这将起作用
<div>
    <a [routerLink]="['./comp2']">
        Navigate to comp2 (Not Nested)
    </a>
</div>
我也尝试了下面的代码,但仍然相同
<a [routerLink]="[ './comp1']">
    Comp1
    <a [routerLink]="['./comp2']" (click)="$event.preventDefault()>
        Navigate to comp2 (Nested)
    </a>
</a>
将a标签更改为跨度也不能解决问题
<span [routerLink]="[ './comp1']" >
    Comp1
    <span [routerLink]="['./comp2']" (click)="$event.preventDefault()">
        Navigate to comp2 (Nested)
    </span>
</span>
我有一个 firebase 函数,并且尝试在我的 firebase 函数中使用 Vision API,但是在本地服务时出现此错误
PERMISSION_DENIED:项目 563584335869 之前未使用过 Cloud Vision API 或已禁用。通过访问https://console.developers.google.com/apis/api/vision.googleapis.com/overview?project=563584335869启用它,然后重试。如果您最近启用了此 API
首先,我不知道  563584335869来自哪里,因为当我单击链接时,它不是一个有效的项目 

其次,我选择该项目并在其上启用 Vision API,仍然收到相同的错误
代码非常简单,无论如何我将其添加到这里
    async analyze(imageStorageLocation: string): Promise<any> {
        const vision = require('@google-cloud/vision');
        const client = new vision.ImageAnnotatorClient();
        const [result] = await client.textDetection(imageStorageLocation);
        const detections = result.textAnnotations;
        console.log('Text:');
        detections.forEach((text: string) => console.log(text));
    }
这就是我初始化 firebase admin 的方式
admin.initializeApp(functions.config().firebase);
这是package.json
  "dependencies": {
    "@google-cloud/vision": "^1.7.1",
    "@nestjs/common": "^6.0.0",
    "@nestjs/core": "^6.0.0",
    "@nestjs/platform-express": "^6.9.0",
    "express": "^4.17.1",
    "firebase-admin": "^8.7.0",
    "firebase-functions": "^3.3.0",
    "moment-timezone": "^0.5.27",
    "reflect-metadata": "^0.1.12", …firebase google-cloud-platform google-vision google-cloud-functions
我有一个 json 字符串在 google 日志中被截断(由于某些原因无法修复)
json 字符串大约有 255000 个字符,为简单起见,考虑原始 json 如下所示
 { "a": "1", 
   "b" : [{
      "b1": "<span>text b1</span>"
   },
   {
      "b2": "<span>text b2</span>"
   }],
   "c": "3"
 }
和截断的字符串如下
 { "a": "1", 
   "b" : [{
      "b1": "<spa... 34 characters truncated.
当然,如果我尝试 JSON.parse 上面的字符串,我会收到错误
现在我想的解决方案是使其成为有效的 json 并丢失一些数据,因此我期望的输出是
 { "a": "1", 
   "b" : [{
      "b1": "<spa"
    }]
 }
上面所做的是
... 34 characters truncated.从字符串末尾删除  "(在本例中是需要的,但也可能不需要)]并}使其再次成为有效对象还有其他情况需要涵盖
例如
 { "a": "1", 
   "b" : [{
      "b1": …我试图从新闻部分列出一些数据.我有两张桌子.新闻和新闻类别
这是我的模型类
public class News
{
    public int NewsId { get; set; }
    public string Name { get; set; }
    public int NewsCategoryId { get; set; }
    public virtual NewsCategory NewsCategory { get; set; }
}
public class NewsCategory
{
    public int NewsCategoryId { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public virtual List<News> News { get; set; }
}
public class NewsDbContext : DbContext
{
    protected override void OnConfiguring(DbContextOptions …为了能够在模板中使用枚举,我们在ts文件中写下面的代码.
在workflowProgress.ts中
export enum WorkflowProgress
{
    cancelled = 0,
    inProgress,
    done
}
在component.ts中
export class Component {
   WorkflowProgress = WorkflowProgress;
   x : WorkflowProgress = WorkflowProgress.done;
}
在template.html中
<div *ngIf="x === WorkflowProgress.done">
我们已经启用了typedef规则的tslint.但是tslint正在唠叨这条线WorkflowProgress = WorkflowProgress;
[tslint]期望成员变量声明:'WorkflowProgress'有一个typedef(typedef)
我可以通过添加禁用规则,// tslint:disable-next-line:typedef但我想知道是否有更好的方法来做到这一点?
我有一个像下面这样的模拟服务
  const firebaseService = jest.fn(() => ({
    initializeApp: jest.fn(() => { /*do nothing*/}),
  }))
在我的测试中,我想要expectifinitializeApp已经被调用。我该如何检查?
it('should be called', () => {
   expect(???).toHaveBeenCalledTimes(1);
});
  const collection = jest.fn(() => {
    return {
      doc: jest.fn(() => {
        return {
          collection: collection,
          update: jest.fn(() => Promise.resolve(true)),
          onSnapshot: jest.fn(() => Promise.resolve(true)),
          get: jest.fn(() => Promise.resolve(true))
        }
      }),
      where: jest.fn(() => {
        return {
          get: jest.fn(() => Promise.resolve(true)),
          onSnapshot: jest.fn(() => Promise.resolve(true)),
          limit: jest.fn(() => {
            return {
              onSnapshot: jest.fn(() …javascript ×5
angular ×4
angular7 ×1
angularjs ×1
arrays ×1
asp.net-mvc ×1
css ×1
ecmascript-6 ×1
firebase ×1
html ×1
html5 ×1
ionic2 ×1
jestjs ×1
json ×1
lint ×1
onsen-ui ×1
ts-jest ×1
tslint ×1
typescript ×1