我们使用 let 关键字创建模板输入变量,同时使用 #var 创建模板引用变量,其中 var 是变量的名称。我们可以在模板中的任何地方引用模板引用变量。
模板输入变量的范围呢?它与模板引用变量的作用域有何不同?有人可以通过例子帮助我理解吗?
<div *ngFor="let hero of heroes">{{hero.name}}</div> <!--hero is template input variable-->
<input #heroInput> {{heroInput.value}} <!--heroInput is template reference variable-->
Run Code Online (Sandbox Code Playgroud) 我们可以在角度模块或组件/自定义指令中注册提供者吗?
为什么angular团队允许在模块或组件/自定义指令中注册提供者?有人可以帮助实用的例子有利有弊吗?
给出一个对象数组,如下所示:
var objArray = [{'key': 'key1', 'fields': [1, 2]}, {'key': 'key2', 'fields': [3, 4]}];
Run Code Online (Sandbox Code Playgroud)
我想从 fields 属性中获取一组合并项,输出应该是 1, 2, 3, 4
我试图合并如下。我对我的解决方案不满意,希望得到反馈并改进我的解决方案。我是 JS 和打字稿的新手。我相信 ES6 的特性有更好的解决方案。有人可以帮助改进我的解决方案吗?
function mergeArraysFromObjectArray(objArray){
let allFields = [];
for (let obj of objArray) {
for (let propt in obj) {
if (obj.hasOwnProperty(propt) && propt === 'fields') {
allFields = allFields.concat(obj[propt]);
}
}
}
return allFields;
}
var objArray = [{'key': 'key1', 'fields': [1, 2]}, {'key': 'key2', 'fields': [3, 4]}];
let allMergedFields = mergeArraysFromObjectArray(objArray);
for(let i=0; i …Run Code Online (Sandbox Code Playgroud) 如果f ::(a,b) - > c,我们可以定义curry(f)如下:
咖喱(f)::((a,b) - > c) - > a - > b - > c
const curry = f => a => b => f(a, b);
const sum = curry((num1, num2) => num1 + num2);
console.log(sum(2)(3)); //5
Run Code Online (Sandbox Code Playgroud)
我们如何实现带有n个参数的函数的通用咖喱函数?
建议在根AppModule提供程序数组中注册服务,并避免使用根AppComponent的提供程序数组.什么时候应该有人在根AppComponent中注册服务?任何实际的例子.与根AppComponent相比,在根AppModule中注册服务有什么好处?