Javascript ng类不工作
快速提问。我第一次尝试处理ng课程,我想知道我做错了什么 因此,在我的HTML中,我有:Javascript ng类不工作,javascript,angularjs,typescript,ionic2,Javascript,Angularjs,Typescript,Ionic2,快速提问。我第一次尝试处理ng课程,我想知道我做错了什么 因此,在我的HTML中,我有: <ion-icon name="logo-facebook" class="big" ng-class="{selected: facebook.selected}" (tap)="addSocial('Facebook')" ></ion-icon> <ion-icon name="logo-twitter" class="big" ng-class="{selected:
<ion-icon name="logo-facebook" class="big" ng-class="{selected: facebook.selected}" (tap)="addSocial('Facebook')" ></ion-icon>
<ion-icon name="logo-twitter" class="big" ng-class="{selected: twitter.selected}" (tap)="addSocial('Twitter')"></ion-icon>
在我的ts中,我有:
facebook = {
"selected" : false,
"type" : "Facebook"
}
twitter = {
"selected" : false,
"type" : "Twitter"
}
...
...
addSocial(type){
// reinit all to selected false
for(var i in this.all){
this.all[i].selected = false;
}
switch(type) {
case "Facebook":
this.facebook.selected = true;
break;
case "Twitter":
this.twitter.selected = true;
break;
case "Instagram":
this.insta.selected = true;
break;
case "LinkedIn":
this.linkedin.selected = true;
break;
case "Github":
this.github.selected = true;
break;
}
this.atLeastOneSelected = true;
this.currentSocial = type;
console.log(JSON.stringify(this.all));
}
当我点击facebook时,我可以看到文本字段显示为“Entrez votre facebook”,在我的日志中我有:
[{“selected”:true,“type”:“Facebook”},{“selected”:false,“type”:“Twitter”},{“selected”:false,“type”:“Instagram”},{“selected”:false,“type”:“LinkedIn”},{“selected”:false,“type”:“Github”}]
twitter也是如此
[{“selected”:false,“type”:“Facebook”},{“selected”:true,“type”:“Twitter”},{“selected”:false,“type”:“Instagram”},{“selected”:false,“type”:“LinkedIn”},{“selected”:false,“type”:“Github”}]
当我直接将类“selected”应用于该类时,它正在工作,但使用ng类时它不工作。我做错了什么
我遵循了这里的主题,但没有为我处理类中的“”假设您使用的是最新的Angular2版本(您提到了typescript和ionic2),您的绑定需要是
[ngClass]=…
,而不是ng class=
因此,您有错误的属性名称以及缺少的绑定括号
有关文档/示例,请参见此处:
根据这一点,您可能还需要在CSS类名周围加引号,尽管我不确定它们是否真的是必需的。假设您使用的是最新的Angular2版本(您提到了typescript和ionic2),您的绑定需要是
[ngClass]=…
,而不是ng class=
因此,您有错误的属性名称以及缺少的绑定括号
有关文档/示例,请参见此处:
根据这一点,您可能还需要在CSS类名周围加引号,尽管我不确定它们是否真的是必需的。请为您正在使用的Angular版本使用正确的标记
angularjs
用于angularjs 1.xangular2
用于angular2。请使用正确的标签来标记您正在使用的Angular版本angularjs
用于angularjs 1.x<代码>角度2用于角度2。
facebook = {
"selected" : false,
"type" : "Facebook"
}
twitter = {
"selected" : false,
"type" : "Twitter"
}
...
...
addSocial(type){
// reinit all to selected false
for(var i in this.all){
this.all[i].selected = false;
}
switch(type) {
case "Facebook":
this.facebook.selected = true;
break;
case "Twitter":
this.twitter.selected = true;
break;
case "Instagram":
this.insta.selected = true;
break;
case "LinkedIn":
this.linkedin.selected = true;
break;
case "Github":
this.github.selected = true;
break;
}
this.atLeastOneSelected = true;
this.currentSocial = type;
console.log(JSON.stringify(this.all));
}