也許只是一個基本的誤解,但是我對Angular和ng顯示有一個小問題。根據功能而定的角度顯示
我有一個簡單的形式與三個輸入字段。我想用信息文本顯示一個div,但只有在設置了所有三個輸入字段的情況下。
我控制器(帶controllerAs語法,別名爲 'myControllerCtrl')看起來像這樣:
var vm = this;
vm.annualConsumption = null;
vm.calorificVal = null;
vm.zNumber = null;
vm.checkIfAllValuesAreSet = checkIfAllValuesAreSet;
function checkIfAllValuesAreSet() {
return vm.annualConsumption && vm.calorificVal && vm.zNumber;
}
所以我在DIV把一個
ng-show="myControllerCtrl.checkIfAllValuesAreSet()"
。但是如果我設置所有輸入字段,它不會顯示div!如果我把該功能的條件直接放入ng顯示中,如
ng-show="vm.annualConsumption && vm.calorificVal && vm.zNumber"
它的工作原理。所以我的問題是:爲什麼我不能使用函數作爲ng-show的表達式?
嘗試'NG秀=「checkIfAllValuesAreSet()」'作爲控制器已經有範圍,該功能附加到'$ scope' – Pankaj
嘗試只NG-秀=「checkIfAllValuesAreSet()」 –
如果你糾正它會工作到ng-show =「vm.checkIfAllValuesAreSet()」你的別名是'vm'而不是'myControllerCtrl'那就是爲什麼第二個條件工作... –