Javascript 初学者AngularJS代码未按预期工作
我对AngularJS不熟悉,只是在玩弄这些东西。这是我的HTML:Javascript 初学者AngularJS代码未按预期工作,javascript,html,angularjs,Javascript,Html,Angularjs,我对AngularJS不熟悉,只是在玩弄这些东西。这是我的HTML: <div ng-app ng-controller="nameController"> <input type="text" value="Jack" ng-model="fname" /> <input type="text" value="Sparrow" ng-model="lname" /> {{getFullName()}} </div> &
<div ng-app ng-controller="nameController">
<input type="text" value="Jack" ng-model="fname" />
<input type="text" value="Sparrow" ng-model="lname" />
{{getFullName()}}
</div>
<input type="text" value="Hello" />
我已经使用value
属性设置了输入文本字段的值。因此,我期望控制器函数getFullName
读取这些值并在页面加载时返回全名。但我得到的是:
undefined undefined
输入文本框为空。为什么会这样?如果需要这些输入的默认值,请使用模型并将它们设置为控制器中
$scope
的属性:
function nameController($scope) {
$scope.fname = "Jack";
$scope.lname = "Sparrow";
$scope.getFullName = function () {
return $scope.fname + " " + $scope.lname;
};
}
然后可以从标记中删除值属性。这样可以将数据与视图很好地分开。这是一个例子
或者,您可以使用以下指令:
<div ng-app ng-controller="nameController" ng-init="fname = 'Jack'; lname = 'Sparrow'">
<input type="text" ng-model="fname" />
<input type="text" ng-model="lname" />
{{getFullName()}}
</div>
{{getFullName()}}
ok dat可以工作……但只想知道为什么它不能从页面上输入元素的值attr中提取数据load@iBlue-就因为它是这样运作的。数据属于模型,而不属于视图。
<div ng-app ng-controller="nameController" ng-init="fname = 'Jack'; lname = 'Sparrow'">
<input type="text" ng-model="fname" />
<input type="text" ng-model="lname" />
{{getFullName()}}
</div>