У меня есть функция, которую нужно вызвать при изменении выбранного элемента.
У меня есть другая функция, использующая ng-change, и она срабатывает.Я удостоверился, что у меня есть ng-модель для объекта.Я считаю, что функция регистрируется с помощью angularjs
<div class="form-group row">
<label class="col-md-6 col-form-label required">Shutter
Type</label>
<div class="col-md-6">
<select ng-model="vm.model.type" required="required" ng-
change="vm.setStilesValues(vm.model.type)" class="form-control">
<option ng-repeat="t in vm.lists.types" ng-value="t.id">{{
t.name }}</option>
</select>
</div>
</div>
//Javascript
function EnclosureItemCtrl($q, $appCatalogs, $appPanels) {
let vm = this;
vm.$onInit = init; //not included.. this function runs
vm.lists = {
material: null,
finish: null,
hardware: null,
types: null //[
// { id: 1, name: "Standard" },
// { id: 2, name: "Arch" },
// { id: 3, name: "Eyebrow" },
// { id: 4, name: "Sunburst" }
//]
};
vm.results = null;
vm.louverSpacing = 0;
vm.userLouverSpacing = null;
vm.remove = remove;
vm.lookupTemplate = lookupTemplate;
vm.louverEstimate = louverEstimate;
vm.adjustSpacing = adjustSpacing;
vm.checkType = checkType;
vm.convert = convert;
vm.louverCalc = {};
vm.setStilesValues = setStilesValues; //function not being triggered
function setStilesValues(name) {
switch (name) {
case "Standard":
vm.model.stiles = 2;
vm.model.rails.top = 3.5;
vm.model.rails.bottom = 3.5;
break;
case "Sunburst":
vm.model.stiles = 2;
vm.model.rails.top = 3.5;
vm.model.rails.bottom = 3.5;
break;
case "Arch":
vm.model.stiles = 2;
vm.model.rails.top = 2;
vm.model.rails.bottom = 3.5;
break;
case "Eyebrow":
vm.model.stiles = 2;
vm.model.rails.top = 3;
vm.model.rails.bottom = 3.5;
break;
}
}
}
Функция setStilesValues (name) должна запускаться при изменении, но не запускается.