gpt4 book ai didi

javascript - 为什么 ng-change 总是从模型传递 'true'

转载 作者:行者123 更新时间:2023-12-02 15:02:19 26 4
gpt4 key购买 nike

当使用 ng-change 指令并将模型信息传递给函数时,ng-change 始终传递 s: true;无论开关是否打开/关闭。我希望根据开/关状态接收 true 和 false 状态。

我正在使用基于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

最佳答案

ng-change 属性的值已经是一个 Angular 表达式,因此不需要 {{}}。我猜正在发生的事情是 Angular 看到了 {{}} 并因此对其进行了评估。因此,此时 ng-change 的效果如下所示:

ng-change="uiSettingTypeChange('isNavbarFixed',true)"

然后,当更改事件触发时,它只是每次都传递 true 。你想要的应该看起来更像这样:

ng-change="uiSettingTypeChange('isNavbarFixed',app.layout.isNavbarFixed)"

关于javascript - 为什么 ng-change 总是从模型传递 'true',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35347312/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com