Javascript 初学者AngularJS代码未按预期工作

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> &

我对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>

<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>