【发布时间】:2015-02-22 23:12:12
【问题描述】:
我有一个非常基本的场景,其中我有一个带有一个控制器的模块:
var myModule = angular.module('myModule', []);
myModule.controller('myModuleCtrl', function ($scope, $http) {
$scope.formData = {url:'',title:'',source:''};
$scope.init = function() {
$scope.formData.url = 'Test';
$scope.formData.title = '';
$scope.formData.source = '';
};
$scope.manageUrl = function() {
alert('update');
};
});
在我看来,我正在尝试使用ngModel 将formData 对象属性与某些表单字段挂钩。但是,init() 方法运行后,我的输入不会更新它的值。如果我添加ngChange 指令并将其与$scope.manageUrl() 方法挂钩,它只会在我第一次击键/更改输入之后运行一次。
我在这里遗漏了什么吗?我之前使用过这两个指令没有任何问题。我唯一能想到的就是我的模块/控制器设置有问题?
这就是我的视图的样子:
<div ng-app="myApp" ng-controller="myModuleCtrl" ng-init="init()">
<div>
<form name="myForm">
<div>
<input type="url" ng-model="formData.url" ng-change="manageUrl()" />
</div>
</form>
</div>
</div>
还有我的 application.js 引导程序:
var app = angular.module('myApp', ['myModule']);
【问题讨论】:
-
你确定在你的控制器中运行
$scope.init()在你定义它之后? -
是的
init()运行,Shoms 在输入类型上是正确的。
标签: angularjs angular-ngmodel angularjs-ng-change