2015-07-17 2 views
0

Я использую элемент управления формой, который имеет набор полей ввода.Значение не обновляется в контроллере

<form class="form-horizontal" role="form">  
    <input ng-model="editPagename" class="form-control" required/> 
    <input ng-model="editUrl" class="form-control" required/> 
</form> 

Значение editPagename не получает обновляется в объеме, и это даже не входя в функции.

$scope.$watch('editPagename', function(newVal, oldVal) { 
    console.log(newVal); 
}); 

Есть ли у вас какие-либо предложения по решению этой проблемы?

+0

проверьте свою консоль, не дает ли она каких-либо ошибок? Ваш опубликованный код выглядит нормально. Отправьте свой контроллер. –

+0

Просьба поделиться с контроллером и как вы его обрабатываете? –

+0

Я обновил ответ. Пожалуйста, проверьте его. –

ответ

0

попробовать

$scope.$watch(function() { 
return $scope.editPagename; 
}, function(newVal, oldVal) { 
    console.log(newVal); 
}); 
0

Its работает me.Here, что я пытался.

HTML:

<div ng-controller="testCtrl"> 
    <form class="form-horizontal" role="form">  
    <input ng-model ="editPagename" class="form-control" required/> 
    <input ng-model="editUrl" class="form-control" required/> 
    </form> 
</div> 

JS:

app.controller("testCtrl",function($scope){ 

$scope.$watch('editPagename', function(newVal, oldVal) { 
    console.log(newVal); 
    }); 
}) 

Его регистрация в консоли.

EDIT CODE:

Ее лучше использовать объективистские модель, а не примитивный тип данных.

Это код фрагмента.

Html

<div ng-controller="testCtrl"> 
    <form class="form-horizontal" role="form">  
    <input ng-model ="objEdit.editPagename" class="form-control" required/> 
    <input ng-model="objEdit.editUrl" class="form-control" required/> 
    </form> 
    {{objEdit}} 
</div> 

JS:

app.controller("testCtrl",function($scope){ 

    $scope.objEdit = {}; 

})

+0

Не ответ, Вы должны были прокомментировать. – Satpal

+0

Проверьте код. –

0

Как уже было указано, что $ сфера будет идти до свидания в будущем (вы можете иметь чтения at this "preparing for the future of angularjs" on airpair, also a link the the youtube video of the ng-europe talk), и вы можете написать свой код для удобного обновления до 2.x

Итак, если вы абсолютно не нужны $ простор для чего-то, попробуйте это:

index.html

<body ng-controller="MainCtrl as vm"> 
    <p>Hello {{vm.name}}!</p> 
    <div> 
     <form class="form-horizontal" role="form">  
     <input data-ng-model ="vm.name" data-ng-change="vm.checkValue(vm.name)" class="form-control" required/> 
     </form> 
    </div> 
    </body> 

app.js

app.controller('MainCtrl', function() { 
    vm = this; 
    vm.name = "world"; 
    vm.checkValue = checkValue; 

    function checkValue(value){ 
    console.log(value); 
    } 
}); 

And a plunker link with the example. Нет $ области действия необходимы. И что я могу сказать, делает то, что вы просите.

Смежные вопросы