0

我已经从angular-seed的代码开始,并且正在慢慢改变它。我的目标是制作一个简单的电子表格应用程序。在angular-seed/app/index.html我添加以下代码开始:

<input type="text" ng-model="KID" placeholder="ID goes here">

<input type="text" ng-model="DESC" placeholder="Description goes here">

<input type="text" ng-model="DDD" placeholder="Drop Dead Date goes here">

那是我想要的,但我想我会尝试从 John Lindquist 教程中学到的东西并应用它。所以我改变了上面的:

<span ng-repeat="entryField in entryFields">

<input type="text" ng-model="entryField.ngmodel" placeholder="entryField.pHolder">

</span>

我将以下控制器添加到angular-seed/app/js/controllers.js

function DataEntryCtrl($scope) {
   $scope.entryFields = [
       {pHolder:'ID goes here',ngmodel:'KID'},
       {pHolder:'Description goes here',ngmodel:'DESC'},
       {pHolder:'Drop Dead Date goes here',ngmodel:'DDD'}
   ];

}

现在我只得到一个带有文字字符串的文本字段entryField.pHolder。我首先怀疑我没有为ng-model元素使用正确的语法。我正在遵循教程中的模式,所以我相信这是正确的。然后,我确保我关闭了<span>正确的,并且我相信检查出来了。我不仅是新手angular-js,而且javascript也是新手(加上只是稍微熟悉html),所以我怀疑这就是问题所在。我不确定如何确定问题所在。是不是很刺眼?有人能指出我做错了什么吗?以下为全文index.html供参考。

<!doctype html5>
<html lang="en" ng-app="myApp">
<head> 
  <meta charset="utf-8">
  <title>SpreedSheet Demo</title>
  <link rel="stylesheet" href="css/app.css"/>
</head>
<body>
<div ng-controller="DataEntryCtrl">

   <span ng-repeat="entryField in entryFields">
      <input type="text" ng-model="entryField.ngmodel" placeholder="entryField.pHolder">
   </span>
   <div ng-view></div>
</div>

  <script src="lib/angular/angular.js"></script>
  <script src="js/app.js"></script>
  <script src="js/services.js"></script>
  <script src="js/controllers.js"></script>
  <script src="js/filters.js"></script>
  <script src="js/directives.js"></script>
</body>
</html>
4

1 回答 1

4

你应该替换这个:

placeholder="entryField.pHolder"

和:

placeholder="{{entryField.pHolder}}"

我不确定在这种情况下您使用标签“ng-model”做什么。但它应该工作。

于 2012-12-01T00:50:44.660 回答