HTML:
app.use(express.urlencoded());
组件:
<map street="{{firstunit.street}}"/>
我有一个使用$ onInit设置值的类。但是我不能在另一个函数中使用该值。当我调用函数@Component('CustomerService', {
templateUrl: '/CustomerService/_UnitCard/MapComponent/Map.html',
selector: 'map',
bindings: {
street: '@',
}
})
export class MapComponent {
private x: string;
public $onInit() {
this.x = 'y';
}
public getValue() {
console.log(this.x);
}
}
时,我会记录“未定义”。如何使用$ onInit为class属性设置值? (将1.7与打字稿一起使用)。
答案 0 :(得分:0)
请勿将自动关闭标签与组件一起使用。
̶<̶m̶a̶p̶ ̶s̶t̶r̶e̶e̶t̶=̶"̶{̶{̶f̶i̶r̶s̶t̶u̶n̶i̶t̶.̶s̶t̶r̶e̶e̶t̶}̶}̶"̶ ̶/̶>̶
<map street="{{firstunit.street}}"></map>
请参见Are (non-void) self-closing tags valid in HTML5?
从文档中:
生命周期挂钩
指令控制器可以提供以下指令,这些指令由AngularJS在指令生命周期的各个点调用:
$onInit()
-在构造一个元素上的所有控制器并初始化它们的绑定之后(并且在此元素上的指令的pre和post链接功能之前),在每个控制器上调用。这是放置控制器初始化代码的好地方。— AngularJS Comprehensive Directive API Reference - Life-Cycle Hooks
$onInit
函数应作为组件控制器的方法提供。将组件属性绑定到控制器后,$compile
服务将调用它。
对于组件,控制器绑定到组件范围的$ctrl
属性(或绑定到controllerAs
选项指定的属性)。
如果getValue
函数正在记录undefined
,则很可能是这样做的,因为在$ em编译服务调用{{1}之前, }功能。
有关更多信息,请参见