我正在使用一个结合angularjs和typescript的应用程序。
我已经创建了一个控制错误的组件,但我不知道如何在我的控制器中读取我的组件中发送的参数,以便在屏幕上显示它。
这是我的错误组件(errors.component.ts):
module MainErrors.Components {
'use strict';
export class MainErrorsComp extends MiApp.Components.ParentComponent {
public templateUrl: string | Function;
public controller: string | Function | (string | Function)[];
static instance(): ng.IComponentOptions {
return new MainErrorsComp();
}
constructor() {
super();
let bindings = {
msgErrorMicro: '='
}
this.templateUrl = '/templates/errors.html';
this.controller = 'mainErrorsController as MainErrCtrl';
this.setBindings(bindings);
}
}
}
这是我的错误控制器(errors.controller.ts):
constructor(public $injector, public $scope) {
super($injector);
let vm = this;
vm.setInjections($injector);
vm.initComp();
vm.msgError = // Here I want to collect the value of the msgErrorMicro parameter that I send from a html in the component, but I do not know how to do it
}
这是html(errors.html)
<p>{{MainErrCtrl.msgError}}</p>
现在我从任何html调用我的错误组件,例如,从login.html:
<main-errors-comp msg-error-micro="Problems to connect from login"></main-errors-comp>
我想要&#34; msg-error-micro&#34;在&#34; errors.controller.ts&#34;
的变量vm.msgError中加载的参数我怎么能这样做?
答案 0 :(得分:1)
使用'@'
属性绑定而不是'='
双向绑定。此外,如果您希望范围变量为msgErr
,请使用:
let bindings = {'msgErr': '@msgErrMicro'};
有关详细信息,请参阅