У меня есть объект в области $ scope, который диктует «следующий экран» для приложения после обновления (я нахожусь в виде многоуровневой новой формы) и когда каждый экран отображается, я хочу показать текущий и все последующие экраны на боковой панели - легко вернуться к пользователю, чтобы внести изменения, но не позволяя ему пропустить шаги, не отображая будущие экраны.
Конечно, это должно быть динамическим, потому что экранный заказ изменяется для разных видов кредитов.
Мой вопрос - в контроллере текущего экрана, как мне изменить статус на true И сделать вид распознающим изменение? (LoDash доступен)
Это частичный $ scope.screens (массив объектов):
[
{
"id": 13,
"loantype_id": 2,
"screen": "farmer",
"label": "Farmer",
"sort_order": 1,
"status": 1
},
{
"id": 14,
"loantype_id": 2,
"screen": "applicant",
"label": "Applicant",
"sort_order": 2,
"status": 0
},
{
"id": 15,
"loantype_id": 2,
"screen": "quests",
"label": "Questions",
"sort_order": 3,
"status": 0
},
{
"id": 16,
"loantype_id": 2,
"screen": "references",
"label": "References",
"sort_order": 4,
"status": 0
}
]
Я двигаюсь от экрана фермера к экрану заявителя, и я могу предупредить «заявитель «из URL-адреса состояния - это значение должно быть использовано для« поиска »нужного объекта в $ scope.screens, но я не могу это понять.
Это подходящая часть ApplicantController - alert (currScreen) == 'Заявитель':
(function(){
'use strict';
angular
.module('ARM')
.controller('NewApplicantController', function(
$scope, $state, $stateParams, Loan,
AppFactory, ApplicantsFactory
){
var curr = $state.current.url;
var currScreen = curr.substring(1,curr.length);
alert(currScreen);
$scope.loan = Loan.data.data[0];
if($scope.loan.applicant_id) {
ApplicantsFactory.getApplicant($scope.loan.applicant_id)
.then(function success(rsp) {
$scope.applicant = rsp.data.data;
$scope.applicant.entity_type_id = '2';
});
} else {
$scope.applicant = { entity_type_id: '2' };
} // end if
$scope.createApplicant = function() {
ApplicantsFactory.createApplicant($scope.applicant)
.then(function(rsp){
AppFactory.patchIt('/loans/', $stateParams.loanID, {applicant_id: rsp.data.message});
AppFactory.moveToNextNewLoanScreen(currScreen, $stateParams);
});
};
});
})();
Где именно он разрушается. Является ли 'currScreen' неопределенным? –
no, currScreen (в данном случае) оповещения 'заявитель' ... Я просто не знаю КАК обратиться к объекту, чтобы изменить статус на 1 ... Я пробовал $ scope.screens [0] .currScreen.status = 1: $ scope. $ Apply(), но это не сработало – jgravois