我在我的一个项目中使用的是angular 4,因此我必须将所有{ data } 替换为{{ data }}。即如果我有这样的对象
{
key: {
key1: {
key2: "This is data {someData}",
key3: "This is data2 {someData2}"
}
},
key2: "This is data3 {someData3}"
}
Run Code Online (Sandbox Code Playgroud)
结果应该是
{
key: {
key1: {
key2: "This is data {{someData}}",
key3: "This is data2 {{someData2}}"
}
},
key2: "This is data3 {{someData3}}"
}
Run Code Online (Sandbox Code Playgroud)
我对递归的工作方式不满意。因此,我无法显示我尝试过的任何内容。请帮忙。任何帮助,将不胜感激。
我正在构建一个实现自定义错误处理程序的角度应用程序。
当你有一个自定义的错误处理程序并且当一个 observable 与 http 一起使用并且当错误没有被捕获时,使用一个 catch 块,如下所示
this.http.get('/doesntExist').subscribe();
Run Code Online (Sandbox Code Playgroud)
自定义 ErrorHandler 的 handleError() 函数获取一个 HttpErrorResponse 对象,该对象可用于获取必要的信息并全局处理错误。但是当你使用承诺时,就像下面这样
this.http.get('/doesntExist').toPromise();
Run Code Online (Sandbox Code Playgroud)
而不是 HttpErrorResponse ,将抛出一个字符串说
错误:未捕获(承诺):HttpErrorResponse:
并且您无法在 handleError() 方法中真正获得错误信息。你可以在这里看到它的实际效果
这是理想的行为吗?难道我做错了什么?有什么解决方法吗?请帮忙。我被卡住了;
更新
控制台中字符串错误的堆栈跟踪
Error: Uncaught (in promise): HttpErrorResponse: {"headers":{"normalizedNames":[],"lazyUpdate":null},"status":200,"statusText":"OK","url":"https://angular-promise-bug.stackblitz.io/doesntExist","ok":false,"name":"HttpErrorResponse","message":"Http failure during parsing for https://angular-promise-bug.stackblitz.io/doesntExist","error":{"error":{},"text":"<!DOCTYPE html>\n<html>\n<head>\n <link href=\"https://fonts.googleapis.com/css?family=Source+Code+Pro:400,700|Lato:400,700,900\" rel=\"stylesheet\">\n <base href=\"/\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no\" />\n <link rel=\"stylesheet\" media=\"screen\" href=\"https://c.staticblitz.com/assets/preview-8222014a50f8588c56d057621cdaf871.css\" />\n <script src=\"https://c.staticblitz.com/assets/common-bd7eff1ca58185bf8131b.js\" crossorigin=\"anonymous\"></script>\n <script src=\"https://c.staticblitz.com/assets/ext-fb68da629568861fd08cb.js\" crossorigin=\"anonymous\"></script>\n <script src=\"https://c.staticblitz.com/d/webcontainer.a966dcc4085d3fff5bb.js\" crossorigin=\"anonymous\"></script>\n <script src=\"https://c.staticblitz.com/assets/preview-3a0c9433aa42f56dbd90b.js\" crossorigin=\"anonymous\"></script>\n <script>(function(){_preboot(\"https://l.staticblitz.com/b/v1/angular-promise-bug/f9f42b37e9b\",{p:\"stackblitz\",a:\"AIzaSyBZSvuCzbUhuRrSps-HjM5bFClLPaFF9Vg\",o:true})})()</script>\n</head>\n<body></body>\n</html>\n"}}
at resolvePromise (angular-promise-bug.stackblitz.io/turbo_modules/zone.js@0.8.26/dist/zone.js:814)
at eval (angular-promise-bug.stackblitz.io/turbo_modules/zone.js@0.8.26/dist/zone.js:724)
at SafeSubscriber.eval [as …Run Code Online (Sandbox Code Playgroud) 我正在尝试为我的一个项目进行主题化,并且我正在使用 css 变量。我正在定义 css 变量如下
.theme-1 {
--var-1: #ffe;
--var-2: #000;
}
.theme-2 {
--var-1: #fff;
--var-2: #000;
}
Run Code Online (Sandbox Code Playgroud)
在 html 中,我应用了如下主题
<div [ngClass]="'theme-1'">
<!--content>
<-->
</div>
Run Code Online (Sandbox Code Playgroud)
除了这里提到的 IE -11 之前不支持 css-variables 之外,一切都很好。
题
有什么方法可以用 scss 变量实现这一点,以便我可以定义全局变量并根据 class 更改值。
注意:我在我的项目中使用了 angular,因此我也必须担心视图封装。如果答案可以通过默认封装来实现,那就太好了。
提前致谢。
我正在为我的一个项目使用 angular 2,我正在使用 ngx-pagination 对表进行分页。我的页面结构是这样的
parent->child1=table1
child2-table-2
child-table-3
child4-table-4
Run Code Online (Sandbox Code Playgroud)
每个孩子都调用自己的休息请求并填充表格。我在父级中使用了子组件,如下所示
parent->child1=table1
child2-table-2
child-table-3
child4-table-4
Run Code Online (Sandbox Code Playgroud)
等等
在每个子组件中,我都使用 ngx-pagination 作为
<tr *ngFor="let data of exitProcessPendingList | paginate: { itemsPerPage: 7, currentPage: pgNumber};let i=index">
<pagination-controls (pageChange)="pgNumber = $event"></pagination-controls>
Run Code Online (Sandbox Code Playgroud)
每个孩子都有唯一的 pageNumber 变量;
现在我面临的问题是,当我尝试更改一个表的页码时,它也会影响其他子表。如果我单击第一个表的第 2 页,所有其他表都将当前页更改为第 2 页.我做错了什么?我做的方式有什么问题吗?
angular2-directives angular2-template angular2-services angular