Suman Zalodiya Ответов: 0

Угловой js С.NET core MVC


Я использую AngularJs с приложением .net Core MVC. На странице Я открываю частичный вид и Bootstrap modal, в котором Angular не используется, и отправляю значение в основной вид.

Но это значение не отражается в пользовательском интерфейсе до тех пор, пока не будет выполнено следующее действие. поэтому мне нужно сделать $scope.$apply принудительно. Что вызывает вопрос о подача заявки продолжается исключение.


Поэтому каждый раз, когда мне нужно сделать $scope.$apply, чтобы отразить изменения в пользовательском интерфейсе. Ниже приведен мой код углового контроллера

Что я уже пробовал:

var module = angular.module("myApp", [])
        module.controller("myController", function ($scope,$http) {
            $scope.RoleCod = '';
            $scope.RoleId = '';
            $scope.RoleDescription = '';
            $scope.CatDescription = '';
            $scope.CatCode = '';
            $scope.AvailableForms = [];
            $scope.SelectedForms = [];

            $scope.SearchRole = () => {
                var url = "/ApplicationSecurity/RoleCategory/LOVRole";
                var data = "";
                OpenModal(url, data);
            };

            SelectRole = (roleId, roleCode, roleDescription) => {
                $scope.RoleCode = roleCode;
                $scope.RoleId = roleId;
                $scope.RoleDescription = roleDescription;
                $scope.CatDescription = '';
                $scope.CatCode = '';
                $scope.AvailableForms = [];
                $scope.SelectedForms = [];
                $("#tblSelected > tbody").html("");
                $("#ValidationRoleDescription").addClass('hidden');
                $("#ValidationRoleCode").addClass('hidden');
                $('#myModal').modal('hide');
                $scope.$apply();
            }

            $scope.SearchCategory = () => {
                if ($scope.RoleCode == undefined || $scope.RoleCode == '') {
                    $("#ValidationRoleDescription").removeClass('hidden');
                    $("#ValidationRoleCode").removeClass('hidden');
                    return;
                } else {
                    $("#ValidationRoleDescription").addClass('hidden');
                    $("#ValidationRoleCode").addClass('hidden');
                }
                var url = "/ApplicationSecurity/RoleCategory/LOVRoleCategory";
                var data = { roleId: $scope.RoleId };
                OpenModal(url, data);
            };

            SelectCategory = function (categoryCode, categoryDescription) {
                $scope.CatDescription = categoryDescription;
                $scope.CatCode = categoryCode;
                $scope.AvailableForms = [];
                $('#myModal').modal('hide');
                $scope.$apply();
            }

            $scope.GetCatForms = () => {
                $.getJSON('@Url.Action("GetCategoryForms", "Form" , "ApplicationSecurity")',{ catCode: $scope.CatCode, formMode: $("#cmbFormMode").val() } , function (data) {
                    console.log(data);
                    $scope.AvailableForms = data;
                    console.log($scope.AvailableForms);
                    $scope.$apply();
                });
            };

            $scope.AddForm = (form) => {
                var array = $scope.SelectedForms.slice(0);
                array.push({
                    CatDescription: $scope.CatDescription,
                    FormDescription: form.formDescription,
                    CatCode: $scope.CatCode,
                    FormId: form.formId,
                    AddFlag: form.addFlag,
                    UpdateFlag: form.updateFlag,
                    DeleteFlag: form.deleteFlag,
                    Visible: true
                });
                $scope.SelectedForms = array;
                $scope.$apply(); // This causes error
            };
        });

0 Ответов