如何使用angularjs控制器更改自定义属性值?

时间:2015-11-20 08:23:31

标签: angularjs angularjs-scope material-design angularjs-controller angular-material

我在我的应用程序中使用了材料设计类。

<div flex="30" flex-sm="100" ng-repeat="shortListLoad in user.shortListLoads">
 <md-button class="md-icon-button md-primary" aria-label="Settings" ng-click="checkShortList(shortListLoad.id)">
   <md-icon md-font-icon='icon-favorite' style='color:red'></md-icon>
 </md-button>
</div>

我需要将&#34; md-font-icon&#34; 属性值更改为&#39; icon-favorite-outline&#39; 在控制器中调用checkShortList()函数。

如何做到这一点请在angularjs而不是jquery中提出最好的方法???

1 个答案:

答案 0 :(得分:1)

在控制器方法flag中设置checkShortList值。 在每个shortListLoad对象中保留一个标记。

//initially
 angular.forEach(user.shortListLoads,function(res){
    res.flag = true;
 }); 

 $scope.checkShortList = function(shortListLoad,id){
     shortListLoad.flag = false;
 }

<强> HTML

    <md-button class="md-icon-button md-primary" aria-label="Settings" ng-click="checkShortList(shortListLoad,shortListLoad.id)">
         <md-icon md-font-icon="{{shortListLoad.flag ? 'icon-favorite' : 'icon-favorite-outline'  }}" style='color:red'></md-icon>
</md-button>