小编Oja*_*low的帖子

ngx-translate .instant返回键而不是值

我试图通过使用translate.instant(参数)创建一个接受字符串键并返回翻译后的字符串值的方法.问题是它返回键(参数).通常,如果找不到翻译,则返回此选项.我认为问题是在加载器加载转换之前调用方法.

我的app.module.ts导入:

    TranslateModule.forRoot({
  loader: {
    provide: TranslateLoader,
    useFactory: (createTranslateLoader),
    deps: [HttpClient]
  }
})
Run Code Online (Sandbox Code Playgroud)

createTranslateLoader函数:

    export function createTranslateLoader(http: HttpClient) {
  return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}
Run Code Online (Sandbox Code Playgroud)

在我的app.component中:

constructor(public translate: TranslateService){
   translate.setDefaultLang('en');
   translate.use('en');
}
Run Code Online (Sandbox Code Playgroud)

当我使用管道翻译html时,它可以正常工作.

loader typescript ngx-translate angular

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

ngx-translate:重新加载时不显示翻译

在我的 webapp 中,我使用 ngx-translate 模块进行本地化。它适用于我使用管道翻译的 html 字符串。我的 ts 组件中翻译的字符串有问题。字符串被翻译但如果我重新加载页面它们是空字符串,如果我转到我的应用程序内的其他页面并返回它们再次正常。我定义了方法:

public getTranslation(key: string){
    let str="";
    this.translate.get(key).subscribe(value => {str = value});
    return str;
}
Run Code Online (Sandbox Code Playgroud)

所以当我定义变量时,我使用:

variable: string = this.getTranslation("key-in-my-json-file")
Run Code Online (Sandbox Code Playgroud)

我在 app.module、loader 中的配置:

export function createTranslateLoader(http: HttpClient) {
  return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}
Run Code Online (Sandbox Code Playgroud)

和进口:

TranslateModule.forRoot({
  loader: {
    provide: TranslateLoader,
    useFactory: (createTranslateLoader),
    deps: [HttpClient]
  }
})
Run Code Online (Sandbox Code Playgroud)

我在 package.json 中的版本:

"@ngx-translate/core": "^8.0.0",
"@ngx-translate/http-loader": "^1.0.2",
"typescript": "2.5.2"
Run Code Online (Sandbox Code Playgroud)

和角度版本 4.3.6

localization typescript ng2-translate ngx-translate angular

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

OData路径模板不是有效的OData路径模板

我有一个具有ODataRoute的HttpGet方法

["Users({userId}/Tags)"]
Run Code Online (Sandbox Code Playgroud)

userId是一个字符串,方法名称是UserTags。控制器是UsersController

当我运行该应用程序时,出现以下错误:

Users({userId})/Tags控制器中“ UserTags”操作上的路径模板Users不是有效的OData路径模板。Tags在OData路径模板中 找到了一个未解决的路径段Users({userId})/Tags

c# rest odata asp.net-web-api2

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

如何在nvarchar中正确插入换行符

我需要创建一个脚本,它需要一些富文本(html文本)并将其转换为常规文本.我想要做的是<br>用换行符替换所有标签.我尝试用替换功能做到这一点:

set @rich_text_to_modify = replace(@rich_text_to_modify,'<br>', CHAR(13)+CHAR(10))
Run Code Online (Sandbox Code Playgroud)


标记获取删除,但换行不插入.知道我做错了什么吗?

sql t-sql sql-server sql-server-2012

4
推荐指数
2
解决办法
451
查看次数

角度2:禁用不正常

我已经在我的打字稿中定义了一个布尔值readOnlyMode,所以当它确实应该被禁用时.我[disabled]="readOnlyMode"用于HTML中应禁用的所有元素.我自己制作的自定义HTML组件有问题.当我使用上面的表示法时,我得到错误:

Template parse errors:
Can't bind to 'disabled' since it isn't a known property of 'app-color…, …}
Run Code Online (Sandbox Code Playgroud)

导致此问题的HTML代码:

<app-color-palette style="position:relative; z-index:2;"
                                     [disabled]="readOnlyMode"
                                     [(selectedColorIndex)]="categoryDefinitionModel.Color">
</app-color-palette>
Run Code Online (Sandbox Code Playgroud)

如果我使用不带括号的禁用,它会编译但不会禁用该组件.

html typescript angular

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