小编Plo*_*hie的帖子

SVG模式在Safari中不起作用

我正在尝试使用SVG制作类似网格的图案。我看到了真正的怪异行为<router-outlet>,当我通过路由使用此代码(例如localhost / test)时,它无法在Safari中加载模式,但使用组件的选择器则可以正常工作。

<defs>
     <pattern id="pattern" width="10" height="10">
         <path d="M10,0 L10,10 L0,10" fill="none" stroke="#E9E9E9" stroke-width="1"/>
     </pattern>
</defs>

<rect id="test" x="10" y="10" width="250" height="250" style="fill: url('#pattern');"/>
Run Code Online (Sandbox Code Playgroud)

这在Chrome浏览器中效果很好,但在野生动物园中却显示黑色矩形。另外,如果我用颜色填充它,那么它也可以在两种浏览器中使用,但是pattern在Safari中不起作用。关于为什么会出现这种问题的任何建议?

svg angular-routing angular

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

如何多次重用角度组件

我正在学习 angular 的基础知识,但我仍然无法弄清楚如何在同一个文档中多次重用同一个组件。

这是相关代码:

测试模块.ts

import { NgModule }      from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';

import { AppComponent }  from './test.component';

@NgModule({
imports:      [ BrowserModule ],
declarations: [ AppComponent ],
bootstrap:    [ AppComponent ]
})
export class AppModule { }
Run Code Online (Sandbox Code Playgroud)

test.component.ts

import { Component } from '@angular/core';

@Component({
    selector: 'example',
    templateUrl: "./test.component.html",
    styleUrls: ["./test-common.css"],
  })

  export class AppComponent  { 

  name = 'Angular'; 

  changeName() {
    this.name = "duck";
  }
}
Run Code Online (Sandbox Code Playgroud)

测试组件.html

<h1>Hello {{name}}</h1>
<button (click)="changeName()">Click me!</button>
Run Code Online (Sandbox Code Playgroud)

这是主要的 index.html

<!DOCTYPE …
Run Code Online (Sandbox Code Playgroud)

javascript components angular

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

替换已弃用的 ViewContainerRef.parentinjector

升级到 Angular 7 后,我进入parentInjector is deprecated: No replacement了我的代码。由于这显然已被弃用,为什么没有可用的更新,或者 Angular 团队只是错过了在文档中添加它?

我正在使用注入器在 dom 中动态添加组件。

const factory = this.cfr.resolveComponentFactory(modalClass);
const ref = factory.create(this.vcr.parentInjector);
Run Code Online (Sandbox Code Playgroud)

angular

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

如何访问组件标签的html元素?

我想访问组件标记中声明的纯 HTML。假设我有组件

@Component({
  selector: 'app-demo'
  template: '<some_template></some_template>'
})
export class AppDemoComponent {

}
Run Code Online (Sandbox Code Playgroud)

如果我h1在另一个组件的标签内定义

<app-demo>
  <h1> demo text </h1>
</app-demo>
Run Code Online (Sandbox Code Playgroud)

如何访问 中的 h1 元素AppDemoComponent

编辑: 这个问题与 ViewChild 无关,因为 ViewChild 从组件的当前模板获取信息。我询问组件标签是否在不同的文件中被调用并且该标签具有 HTML 元素,那么如何访问它。

html angular

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

如何在不使用 HttpIntercepter 的情况下在 Angular 中获取自定义响应标头

我没有在 Angular 项目中使用 HttpIntercepter,并且我想在出现错误时检索一些自定义响应标头。我{ observe: 'response' }在 POST API 调用中尝试过:

post(url, data = ''): Observable<any> {
  url = this.baseApiUrl + url;
  const headers = this.createHttpHeaders();
  const body = JSON.stringify(data);
  return this.http.post(url, body, {headers: headers, observe: 'response'}).pipe(catchError(HttpClientHelper.handleError));
}
Run Code Online (Sandbox Code Playgroud)

但我只收到 4 个标头:

error.headers.keys().map( (key) => console.log(key + ':' + error.headers.get(key)));

回报

cache-control: no-cache, no-store, max-age=0, must-revalidate content-length: 0 expires: 0 pragma: no-cache

但是,x-不会返回带有前缀的自定义响应标头。是否有任何配置可以检索自定义响应标头?

在此输入图像描述

spring-boot angular angular-httpclient

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

javascript对象中具有相同名称的函数和函数组

我有以下对象JavaScript.我很困惑如何访问object.demo()object.demo.inner().该object.demo.inner()工作的罚款,但object.demo不工作.我要求名称应该相同.为什么函数不会在这里超载?

var object = {
    // object.demo()
    demo: function(str, pathStr) {
        console.log('function 1')
    },

    demo: {
         // object.demo.inner()
        inner: function () {
            console.log('inner')
        }
    }
}

object.demo.inner() //working
object.demo() //not working
Run Code Online (Sandbox Code Playgroud)

javascript

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