我有一个公共类,并且所有组件中都导入了该公共类,并且所有组件中都使用了该公共类url,但是此commonUrl无效,因此如何使所有组件成角度形式使用commonUrl(因为将来我有仅在commonUrl的common-class中进行更改?
export class CommonClass {
constructor(commonUrl : string = 'http://localhost:3000'){}
}
category.component.html
<button mat-button><img src="commonUrl/{{categoryObj.categoryimage}}" style="height: 100px;width: 100px;"/></button>
follow.component.html
<td mat-cell *matCellDef="let element">
<img src="commonUrl/{{element.userimage}}" style="height: 40px;width: 40px;"/>
</td>
答案 0 :(得分:0)
最好创建一个静态变量来访问通用网址
//Companion object
object MyApi {
def apply(arg1, ...) {
val myApi = new MyApi(arg1, ...)
MyThriftService.ServicePerEndpoint(
method1 = myApi.method1,
...
methodX = myApi.methodX
)
}
}
在category.component.ts中访问属性
export class CommonClass {
public static commonUrl : string = 'http://localhost:3000'
}
答案 1 :(得分:0)
在您的Long
文件中,添加URL的提供程序。您的代码应如下所示
app.module.ts
,并且必须在您的组件中注入
@NgModule({
declarations: [
AppComponent,
],
imports: [
BrowserModule,
...........
],
providers: [
........
//use this line
{ provide: 'API_URL', useValue: 'http://localhost:3000' },
]
})
现在您可以在组件的任何位置使用该URL
答案 2 :(得分:0)
首先,您需要在组件中导入类,然后在视图中创建该类的实例
这是一个例子
在.ts
import {CommonClass} from ../yourfolder/commomurl
commonClassObj: CommonClass = new CommonClass();
和.html
<button mat-button><img src="{{commonClassObj.commonUrl}}/{{categoryObj.categoryimage}}" style="height: 100px;width: 100px;"/></button>
答案 3 :(得分:0)
如果什么都不起作用的另一种方法:使用OUTPUT发出值
@Output() commonUrl : EventEmitter<Boolean> = new EventEmitter<Boolean>();
在定义commonurl的主类中发送它
this.commonUrl.emit(goToAccountView);
并在要使用此commonURL的组件中使用@Input()。
希望有帮助
答案 4 :(得分:0)