首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无视角的角2分量

无视角的角2分量
EN

Stack Overflow用户
提问于 2016-01-29 14:46:58
回答 1查看 10.1K关注 0票数 4

在不使用模板或@View的情况下,可以使用角2吗?

我正在寻找类似的方法,就像您在示例中所做的那样:

角1

index.html

代码语言:javascript
复制
<div ng-controller="appcontroller">
<div ng-class="{active: isActive()}">
    .....
</div>
</div>

app.js

代码语言:javascript
复制
angular.module('app', []).controller('appcontroller', function(){
$scope.isActive = function(){
    return true;
}
});

如果可能的话,我猜它会是这样的:

角2

index.html

代码语言:javascript
复制
<app>
<div [ngclass]="{active: isActive()}">
    .....
</div>
</app>

app.ts

代码语言:javascript
复制
import {Component} from 'angular2/core';
@Component({
selector: 'app'
})
export class AppComponent { 
isActive(){
    return true;
}
}

但不幸的是,我得到了错误:

代码语言:javascript
复制
... must have either 'template', 'templateUrl', or '@View' set.

我不太喜欢将html放在Javascript中,所以我希望有某种解决办法或方法来做到这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-29 14:49:52

实际上,您应该像这样实现AppComponent

代码语言:javascript
复制
import {Component} from 'angular2/core';

@Component({
  selector: 'app'
  template: `
    <div [ngClass]="{active: isActive()}">
      .....
    </div>
  `
})
export class AppComponent { 
  isActive(){
    return true;
  }
}

或者使用templateUrl属性:

代码语言:javascript
复制
import {Component} from 'angular2/core';

@Component({
  selector: 'app'
  templateUrl: 'component.html'
})
export class AppComponent { 
  isActive(){
    return true;
  }
}

然后像这样使用组件:

代码语言:javascript
复制
<app></app>

如果将一些HTML放在app标记中,这意味着要向组件提供一些可以使用ng-content包含在组件模板中的内容。下面是一个示例:Angular 2 Template Component

希望它能帮到你,蒂埃里

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35087266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档