我正在为我的项目使用AngularJS,我是新手。但我喜欢它的功能,也很方便开发。但我想出了以下问题,并且不知道要摆脱它。
我有一个多视图应用程序。以下代码是注册视图的一部分。按下注册按钮时会显示此视图。现在的问题是,在下面的第4和第5行,我附加了一个ng-model属性,并且我能够打印使用{{num}}指令获得的数字。但是,下面的ng-model num2没有显示如上。我得到的只是显示的静态文本{{num2}}
。为什么它不像以前那样工作?
<form role='form' action='#/app/register_db' method='post'>
<h1><small><b>Sign Up Information<b></small></h1>
<br>
<input type='text' ng-model='num'>
<h1>{{num}}</h1>
<div class='row'>
<input type='text' ng-model='num2'>
<h1>{{num2}}</h1>
<div class='col-xs-5'>
<input type="text" class='form-control' id="fn" name='firstname' ng-model='ng-firstname' placeholder="First Name">
</div>
</div>
...
...
我是AngularJS的新手,我很快就掌握了概念。因此,如果我遗漏了某些内容,请引导我走正确的道路并帮助我解决这个问题。
我正在使用angularJS和Bootstrap CSS。
感谢。
答案 0 :(得分:1)
您应该在浏览器的控制台中收到以下错误消息:
[ngModel:nonassign] Expression 'ng-firstname' is non-assignable. Element: <input type="text" class="form-control" id="fn" name="firstname" ng-model="ng-firstname" placeholder="First Name">
由于ng-model="ng-firstname"
不是名称引用,而是AngularJS将尝试评估的表达式,因此只需不使用破折号就可以解决这个问题。当你破解代码时会发生什么,AngularJS基本上会停止,而AngularJS通常会在后面的元素中做任何其他事情,根本不会发生。