2016-02-11 49 views
0

通過「真」當使用NG-改變指令,並傳遞模型信息的功能,NG-改變總是passess:真實的;關注開關是否開啓/關閉。我希望根據開/關狀態接收真假兩種狀態。爲什麼NG-變化總是從模型

我使用基於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 

回答

2

的NG-的價值更改屬性已經是一個角度表達式,所以不需要{{}}。我猜的是,角度看{{}},從而評估它。所以,在這一點上,NG-變化有效看起來像這樣:

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

然後,當改變事件射擊,它只是路過,真正在每一個時間。你想要的應該看起來更像這樣:

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

工作完美;天才。謝謝。 – Fergus

相關問題