使用ng-change更改样式

时间:2014-11-29 15:57:12

标签: angularjs

我使用AngularJS引导程序的下拉列表并想要更改元素的字体。我尝试使用ng-change进行此操作。

HTML:

<p ng-style="fontStyle">Test</p>

<div class="btn-group" dropdown is-open="status4.isopen" id="fontselect">
  <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" ng-disabled="disabled" ng-change="fontStyle={'font':'Arial'};">
    {{ 'inv.theme.font' | translate }}<span class="caret"></span>
  </button>
<ul class="dropdown-menu" role="menu">
  <li><a href="#"><span style="font-family: Arial">Arial</span></a></li>
  <li><a href="#"><span style="font-family: Tahoma">Tahoma</span></a></li>
  <li><a href="#"><span style="font-family: Times New Roman">Times New Roman</span></a></li>
  <li><a href="#"><span style="font-family: Verdana">Verdana</span></a></li>
  <li><a href="#"><span style="font-family: Impact">Impact</span></a></li>
  <li><a href="#"><span style="font-family: Comic Sans MS">Comic Sans MS</span></a></li>

    

我得到以下异常:

错误:[$ compile:ctreq]无法找到指令'ngChange'所需的控制器'ngModel'!

出了什么问题?谢谢

1 个答案:

答案 0 :(得分:2)

ngChange始终需要ngModel出席(请参阅https://docs.angularjs.org/api/ng/directive/ngChange)。

所以,只需像这样添加一个ng-model,就可以了:

  <button type="button" ng-model="myVar" class="btn btn-default dropdown-toggle" data-toggle="dropdown" ng-disabled="disabled" ng-change="fontStyle={'font':'Arial'};">
    {{ 'inv.theme.font' | translate }}<span class="caret"></span>
  </button>