Вы не используете объект, определенный на $ объеме. Проверьте приведенные ниже фрагменты кода.
Внутри вашего контроллера вы, кажется, смешиваете стили кодирования, например синтаксис синтаксиса $ scope или синтаксис контроллера, пожалуйста, перейдите с одним подходом.
Также, пожалуйста, инициализировать объект в пустой объект т.е. $scope.frm = {};
$ синтаксисе области видимости.
angular
.module('demo', [])
.controller('DefaultController', DefaultController);
DefaultController.$inject = ['$scope'];
function DefaultController($scope) {
$scope.frm = {};
$scope.Process = function() {
console.log($scope.frm.myID);
}
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="demo">
<div ng-controller="DefaultController">
<form id="form1">
<fieldset>
<input type="text" name="field1" ng-model="frm.myID" />
<input type="button" name="btnProcess" class="action-button" value="Process" ng-click="Process()" />
</fieldset>
</form>
</div>
</div>
контроллер наложения спектров синтаксиса. Вы можете использовать $ объем в этом синтаксисе тоже, но делать вещи, как создание наблюдателей, события и т.д.
angular
.module('demo', [])
.controller('DefaultController', DefaultController);
function DefaultController() {
var vm = this;
vm.frm = {};
vm.process = process;
function process() {
console.log(vm.frm.myID);
}
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="demo">
<div ng-controller="DefaultController as ctrl">
<form id="form1">
<fieldset>
<input type="text" name="field1" ng-model="ctrl.frm.myID" />
<input type="button" name="btnProcess" class="action-button" value="Process" ng-click="ctrl.process()" />
</fieldset>
</form>
</div>
</div>
просьба представить ** все ** определения контроллера и HTML-блок, в том числе, где 'ng-controller' объявлен. – Claies
это работает правильно, с ограниченной информацией, которую вы предоставили, до тех пор, пока один заполняет пробелы и делает некоторые предположения о остальной части недостающего кода: http://plnkr.co/edit/71Y2Tzj0hgmWg49g1vH6?p=preview. То, что вы не разместили в теле вопроса, не настроено должным образом, а остальная часть кода необходима для идентификации проблемы. – Claies
в качестве примечания, если вы используете 'this', вы обычно не должны сохранять значения в' $ scope'. и если вы используете '$ scope', тогда' var frm = this' не нужно. Использование обоих синтаксисов в то же время приводит только к путанице. – Claies