当使用ng-change指令并将模型信息传递给函数时,ng-change总是passess:true;如果开关是打开/关闭的话。我希望根据开/关状态接收真假两种状态。
我正在使用基于switchery和angular-ui-switch
的自定义切换指令<switch
ng-model="app.layout.isNavbarFixed"
ng-change="uiSettingTypeChange('isNavbarFixed',
{{app.layout.isNavbarFixed}})"
class="green">
</switch>
和
$scope.uiSettingTypeChange = function(name, setting) {
console.log(name +' | ' + setting);
};
console.log始终输出:
isNavbarFixed | true
答案 0 :(得分:2)
ng-change属性的值已经是一个角度表达式,因此不需要{{}}
。我猜测正在发生的是,角度看到{{}}
并因此评估它。因此,在这一点上,ng-change有效看起来像这样:
ng-change="uiSettingTypeChange('isNavbarFixed',true)"
然后,当更改事件触发时,它只是在每次都传递真实。你想要的应该看起来更像这样:
ng-change="uiSettingTypeChange('isNavbarFixed',app.layout.isNavbarFixed)"