Javascript 无视图的角度2组件
是否可以在不使用模板或@View的情况下使用Angular 2 我正在寻找一种类似的方法,就像您在示例中所做的那样: 角度1 index.htmlJavascript 无视图的角度2组件,javascript,html,angularjs,typescript,angular,Javascript,Html,Angularjs,Typescript,Angular,是否可以在不使用模板或@View的情况下使用Angular 2 我正在寻找一种类似的方法,就像您在示例中所做的那样: 角度1 index.html <div ng-controller="appcontroller"> <div ng-class="{active: isActive()}"> ..... </div> </div> <app> <div [ngclass]="{active: isActive()}"&
<div ng-controller="appcontroller">
<div ng-class="{active: isActive()}">
.....
</div>
</div>
<app>
<div [ngclass]="{active: isActive()}">
.....
</div>
</app>
如果可能的话,我猜会是这样的:
角度2
index.html
<div ng-controller="appcontroller">
<div ng-class="{active: isActive()}">
.....
</div>
</div>
<app>
<div [ngclass]="{active: isActive()}">
.....
</div>
</app>
但不幸的是,我得到了一个错误:
... must have either 'template', 'templateUrl', or '@View' set.
我真的不喜欢将html放入Javascript中,因此我希望有某种解决方法或方法来做到这一点。事实上,您应该像这样实现
AppComponent
:
import {Component} from 'angular2/core';
@Component({
selector: 'app'
template: `
<div [ngClass]="{active: isActive()}">
.....
</div>
`
})
export class AppComponent {
isActive(){
return true;
}
}
<app></app>
并使用如下组件:
import {Component} from 'angular2/core';
@Component({
selector: 'app'
template: `
<div [ngClass]="{active: isActive()}">
.....
</div>
`
})
export class AppComponent {
isActive(){
return true;
}
}
<app></app>
希望它能帮助你,
Thierry因此,没有其他方法将html(代码或.html文件)放入TypeScript文件本身?您可以使用templateUrl
属性引用包含视图内容的html文件。。。我更新了我的答案。我使用了你上面的建议,使用了templateUrl,终于能够让Angular 2应用程序运行了。再次感谢你,蒂埃里!Angular2的一个缺陷,IMO。它不再可能只有一个HTML页面。它必须分成小块,可以是JS代码(template
)或单独的文件(templateUrl
)。