Возможно, это просто основное недоразумение, но у меня есть небольшая проблема относительно Angular и ng-show.Угловое ng-шоу в зависимости от функции
У меня простая форма с тремя полями ввода. Я хочу показать div с infotext, но только если установлены все три поля ввода.
Мой контроллера (с 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;
}
Так что я положил
ng-show="myControllerCtrl.checkIfAllValuesAreSet()"
в моих делах. Но он не покажет div, если я установил все поля ввода! Если я положил условие из функции непосредственно в ng-show, например
ng-show="vm.annualConsumption && vm.calorificVal && vm.zNumber"
это работает. Поэтому мой вопрос: почему я не могу использовать функцию в качестве выражения для ng-show?
Попробуйте 'нг-шоу =«checkIfAllValuesAreSet()» ', как контроллер уже имеет объем и присоединить эту функцию' $ scope' – Pankaj
попробовать просто нг-шоу = «checkIfAllValuesAreSet()» –
он будет работать, если вы это исправить to ng-show = "vm.checkIfAllValuesAreSet()" ваш псевдоним - это 'vm' not 'myControllerCtrl', поэтому второе условие работает ... –