ng-model возвращает пустое значение, даже если html-ввод имеет значение

0

Я использую бритву MVC для рендеринга модели ниже.

@Html.HiddenFor(u => u.FormNo, new { @ng_model = "formData.formno" })

Когда исходный код просматривается, вход html имеет значение.

<input id="FormNum" name="FormNum" ng-model="formData.formno" type="text" value="154S00017">

но угловая возвращает это как пустое значение в контроллере.

   var url;
var controller = 'Inbox';
var action = 'Get_RCTS_FormHistory';
var RCTS = angular.module('RCTS', []);

    RCTS.controller('historyController', function ($scope, $http) {
        $scope.formData = {};
        $scope.formData.formno = '';
        url = "/" + controller + "/" + action + "?FormNo=" + $scope.formData.formno;
       alert(url)
        $http.get(url).success(function (data) {

            $scope.logs = data;


        });
    });

И при отладке в Visual studio.

Изображение 174551

Я новичок в угловой, и это меня действительно раздражает. Я попытался добавить туда функцию document.ready(), но она также вернула ошибку.

благодаря

Я решил это, назначив значение из другого ввода html.

$scope.formData.formno = $('#FormNo').val();

и в конечном итоге разрешил его, используя

@Html.HiddenFor(u => u.FormNo, new { @ng_model = "formData.formno",@[email protected] }) 

из вида Razor.

  • 1
    у вас есть $scope.formData.formno = ''; в вашем контроллере, конечно, он будет пустым.
  • 1
    кроме того, angular не устанавливает значения для ng-model из value на входе; если вам действительно нужно установить значение со стороны сервера, вам нужно либо установить значение как глобальную переменную (не рекомендуется), либо использовать ng-init . см. stackoverflow.com/a/13771205/2495283
Показать ещё 1 комментарий
Теги:
model-view-controller

1 ответ

1

Вы не обновляете значение переменной области видимости

$scope.formData.formno = 'cakefun';
  • 0
    хорошо, я сейчас подхожу. Я использовал JQuery для обновления модели с контроллера. $ scope.formData.formno = $ ('# FormNo'). val (); Спасибо!
  • 0
    @cafekun, хотя этот подход работает , он немного уродлив, он неэффективен, и вы действительно не используете angular в предназначенной для него парадигме проектирования, которая заключается в том, чтобы максимально избегать взаимодействия с DOM.
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню