我们需要向OpenUI5添加新图标.图标已被定义为基于矢量的字体.
我知道可以通过https://icomoon.io/等服务将图标添加到SAP标准字体.但是,我希望能够将它们保存在一个单独的文件中(这样我们就不需要在新的OpenUI5版本出现时重做任务).
是否可以定义用于图标的其他字体?
我已经设置了angular2-google-mapangular2应用程序.
这是app.module.ts
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
import { AgmCoreModule} from 'angular2-google-maps/core';
@NgModule({
imports: [ BrowserModule, AgmCoreModule.forRoot({apiKey: 'AIzaSyAe3ci9yavJcWt7MaJE8DusAuZo-QeRqkU'}) ],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ],
})
export class AppModule { }
Run Code Online (Sandbox Code Playgroud)
我用命令安装了angular2-google-maps,
npm install angular2-google-maps --save
Run Code Online (Sandbox Code Playgroud)
哪个成功安装.当我用npm start运行应用程序时,它显示错误说,
http:// localhost:3000/angular2-google-maps/core无法加载资源:服务器响应状态为404(未找到)
但我可以在node_modules中看到angular2-google-maps文件夹.问题是什么?
您好我需要使用angular2 *ngIf语句来切换类
<i *ngIf="visible" [(ngClass)]="{{arrow}}"></i> <<这行代码不能正常工作
这是我的ts代码
private visible = true;
private i = 0;
private arrow = 'ic-v';
private showList(){
if(this.i == 0){
this.i = 1;
this.visible = false;
this.arrow = 'ic-v-up';
}
else
{
this.i = 0;
this.visible = true;
this.arrow = 'ic-v';
}
}
Run Code Online (Sandbox Code Playgroud) 在官方的angular2教程中,它包含以下代码
getHeroes(): Promise<Hero[]> {
return Promise.resolve(HEROES);
}
ngOnInit(): void {
this.route.params
.switchMap((params: Params) => this.heroService.getHero(+params['id']))
.subscribe(hero => this.hero = hero);
console.log(this.route.params);
console.log(this.route.params
.switchMap((params: Params) => this.heroService.getHero(+params['id'])));
}
Run Code Online (Sandbox Code Playgroud)
现在我们知道this.route.params返回一个observable,同时
this.heroService.getHero(+params['id'])返回一个promise
这是签名 rxjs switchmap
switchMap(project: function: Observable, resultSelector: function(outerValue, innerValue, outerIndex, innerIndex): any): Observable
Run Code Online (Sandbox Code Playgroud)
我们看到第一个参数采用发出可观察的函数.
但是在上面的例子中,我们实际上传递了一个发出promise的函数.
它们是否相互兼容?
此外还有控制台
console.log(this.route.params
.switchMap((params: Params) => this.heroService.getHero(+params['id'])));
Run Code Online (Sandbox Code Playgroud)
输出
AnonymousSubject {_isScalar: false, observers: Array[0], closed: false, isStopped: false, hasError: false…}
Run Code Online (Sandbox Code Playgroud)
不应该_isScalar设置为true,因为函数输出一个承诺?
我在Angular项目中使用Google Books API.我列出了不同的静态类别的书籍.点击特定类别后,我想从Google Books API获取搜索类别的图书.Google图书中没有可用的API.建议我,如果有的话!
目前我正在使用Google图书搜索API来实现此目的,但搜索结果与类别搜索的搜索结果不同.如果有的话建议我替代方法!
我想向请求 URL 添加多个具有相同名称的参数。我正在使用 Angular 的$http.
URL 应如下所示:
http://myBaseUrl?name1=value1&name1=value2...
我知道当我将值设置为数组时,可以做这样的事情:
http://myBaseUrl?name1=value1,value2...
但它必须像第一个一样。
我正在 SAPUI5 中开发 Master Detail 应用程序。我已经创建了包含信息列表的主视图。在主部分的顶部,我放置了一个按钮以在全屏中查看有关列表的层次结构信息。
所以我的问题是如何将视图从 Master-Detail (Split App) 切换到 Full Screen。
我想创建一个自定义实用程序文件(JavaScript文件)即 /webapp/util/MyUtil.js
假设这是MyUtil的内容:
function myFunc(input) {
// some code
}
Run Code Online (Sandbox Code Playgroud)
并且存在一个视图和控制器,即View1.xml和View1.js.
我如何myFunct(input)从View1.js打电话?
我从第一个SAPUI5应用程序开始,构建了一个响应表.现在我需要为特定行着色取决于模型中的值.
我正在使用XML-View.
我可以在控制器中定义一个方法吗?(它应该如何工作?)
Home.view.xml
<Table id="idMachineTable"
inset="false"
items="{
path: 'machinemodel>/collection'
}">
<headerToolbar>
<Toolbar>
<Title text="Header" level="H2"/>
</Toolbar>
</headerToolbar>
<columns>
<Column
width="12em">
<Text text="Product" />
</Column>
<Column
hAlign="Right">
<Text text="Price" />
</Column>
</columns>
<items>
<ColumnListItem>
<cells>
<ObjectIdentifier
title="{machinemodel>test}"
text="{machinemodel>test}"/>
<Text
text="{machinemodel>test}" />
</cells>
</ColumnListItem>
</items>
</Table>
Run Code Online (Sandbox Code Playgroud) 我使用以下代码从 sap.m 创建了一个工具栏:
var oPage = new sap.m.Page({
title: "Statusverfolgung",
footer: new sap.m.Toolbar({
content: [
new sap.m.Button({
text: "Next status"
})
]
}),
content: [
oBox
]
});
Run Code Online (Sandbox Code Playgroud)
现在这个按钮被放置在左边。我怎样才能把它放在右边?
我在Angular 2项目中提供了一个简单的服务,用于检查用户是否已登录.它检查FirebaseAuth对象中是否存在用户对象.但是当函数声明实际上我的返回语句在auth变量的subscribe方法内时,函数声明会为"缺少return语句"抛出一个错误.代码看起来像这样:
import { Component, OnInit , Injectable} from '@angular/core';
import { FirebaseAuthState, FirebaseAuth} from "angularfire2";
@Injectable()
export class CheckLogged {
constructor(private auth:FirebaseAuth ){}
check(): boolean{
this.auth.subscribe((user: FirebaseAuthState) => {
if (user) {
return true;
}
return false;
})
}
}
Run Code Online (Sandbox Code Playgroud)
"check():boolean"语句抛出此错误
我在组件中的OnInit生命周期钩子中调用我的函数并将其分配给变量
this.loggedIn = this.CheckLogged.check();
Run Code Online (Sandbox Code Playgroud) 当Angular 4位于组件内时,如何在 SVG 中动态添加类和路径?
在我的组件中,当我将以下代码粘贴到组件模板中时,图标有效;
<svg class="another-class iconId">
<use xlink:href="/icon-path/def.svg#iconId"></use>
</svg>
Run Code Online (Sandbox Code Playgroud)
但是当我尝试绑定这样的类时:
<svg class="another-class {{iconId}}">
<use xlink:href="/icon-path/def.svg#{{iconId}}"></use>
</svg>
Run Code Online (Sandbox Code Playgroud)
我收到错误:
Error: Template parse errors:
Can't bind to ':xlink:href' since it isn't a known property of ':svg:use'
Run Code Online (Sandbox Code Playgroud)
四处搜索后,我发现了将代码更改为以下内容的建议:
<svg class="another-class {{iconId}}">
<svg:use [attr.xlink:href]="/icon-path/def.svg#{{iconId}}"></svg:use>
</svg>
Run Code Online (Sandbox Code Playgroud)
有了这个,我得到以下错误:
Uncaught (in promise): Error: Template parse errors:
Parser Error: Got interpolation ({{}}) where expression was expected at column 30 in [/icon-path/def.svg#{{iconId}}]
Run Code Online (Sandbox Code Playgroud)
我在这里做错了什么?
编辑:按照 Noodle 的建议尝试以下操作:
<svg class="another-class {{iconId}}">
<use [attr.xlink:href]="'/icon-path/def.svg#' + iconId"></use>
</svg>
Run Code Online (Sandbox Code Playgroud)
仍然收到以下错误: …
angular ×6
sapui5 ×5
typescript ×3
angular-cli ×1
api ×1
firebase ×1
google-books ×1
google-maps ×1
http ×1
observable ×1
promise ×1
rxjs ×1
svg ×1