angular 中的 ng-model 禁用文本框中的值
ng-model in angular disable value in textbox
我正在尝试使用 angularjs 在 mvc-asp 中开发一个页面。我有一个这样的文本框:
<div class="input-group">
<label for="Name">نام خودرو</label>
<input class="form-control" id="Name" ng-model="Name" required name="Name" type="text" value="@Edit.Name">
</div>
<span style="color:red" ng-show="frm.Name.$invalid">
<span ng-show="frm.Name.$error.required">نام خودرو را وارد کنید</span>
</span>
如您所见,我使用 angularjs 验证了文本框。一切正常,但问题是 value="@Edit.Name"
我将此选项用于编辑控制器中,将我的值推送到名为 Edit
的视图包,然后使用 value="@Edit.Name"
将值传递给文本框。
正如您在代码中看到的,当我点击编辑按钮时,值应该被传递到文本框,但是文本框是空的,当我删除 ng-model="Name"
时,它工作正常并且文本框填充值 ..
为什么?
这是因为当您指定 ng-model
指令时,angular 将输入的值更新为控制器中 Name
的值,我只能假设这是一个空值。
生成页面时直接在输入上设置值不会更新基础模型值。真正发生的是,您正在生成包含输入值的页面,并且 angular 立即根据 ng-model
的值 (null
) 更新输入值(Name
)。
您需要按照 angular 的方式做事,并将控制器范围内的 Name
的值设置为您想要填充的值。
不幸的是,它太复杂了,无法在此处为您提供有关如何使用 AngularJS 构建 .NET MVC 应用程序的信息。但是,我建议您阅读 https://angularjs.org/ site and YouTube (this one seems helpful https://www.youtube.com/watch?v=zKkUN-mJtPQ&list=PL6n9fhu94yhWKHkcL7RJmmXyxkuFB3KSl) 上的一些初学者 angular 教程,以了解 angular 如何独立于 .NET 工作。
一旦您理解了 angular 本身的工作原理,您就可以将其整合到 .NET MVC 应用程序中。我建议您在学习时不要使用 .NET MVC angular,因为这两个应用程序的结构根本不同,作为初学者,您会 运行 遇到很多问题。
这里有一个提示,虽然当你一起使用它们时:使用 angular resources
(处理 ajax)和 services/factories/providers
来调用你的控制器方法并检索数据angular 绑定到。 MVC 视图本身根本不会处理数据绑定。
我正在尝试使用 angularjs 在 mvc-asp 中开发一个页面。我有一个这样的文本框:
<div class="input-group">
<label for="Name">نام خودرو</label>
<input class="form-control" id="Name" ng-model="Name" required name="Name" type="text" value="@Edit.Name">
</div>
<span style="color:red" ng-show="frm.Name.$invalid">
<span ng-show="frm.Name.$error.required">نام خودرو را وارد کنید</span>
</span>
如您所见,我使用 angularjs 验证了文本框。一切正常,但问题是 value="@Edit.Name"
我将此选项用于编辑控制器中,将我的值推送到名为 Edit
的视图包,然后使用 value="@Edit.Name"
将值传递给文本框。
正如您在代码中看到的,当我点击编辑按钮时,值应该被传递到文本框,但是文本框是空的,当我删除 ng-model="Name"
时,它工作正常并且文本框填充值 ..
为什么?
这是因为当您指定 ng-model
指令时,angular 将输入的值更新为控制器中 Name
的值,我只能假设这是一个空值。
生成页面时直接在输入上设置值不会更新基础模型值。真正发生的是,您正在生成包含输入值的页面,并且 angular 立即根据 ng-model
的值 (null
) 更新输入值(Name
)。
您需要按照 angular 的方式做事,并将控制器范围内的 Name
的值设置为您想要填充的值。
不幸的是,它太复杂了,无法在此处为您提供有关如何使用 AngularJS 构建 .NET MVC 应用程序的信息。但是,我建议您阅读 https://angularjs.org/ site and YouTube (this one seems helpful https://www.youtube.com/watch?v=zKkUN-mJtPQ&list=PL6n9fhu94yhWKHkcL7RJmmXyxkuFB3KSl) 上的一些初学者 angular 教程,以了解 angular 如何独立于 .NET 工作。
一旦您理解了 angular 本身的工作原理,您就可以将其整合到 .NET MVC 应用程序中。我建议您在学习时不要使用 .NET MVC angular,因为这两个应用程序的结构根本不同,作为初学者,您会 运行 遇到很多问题。
这里有一个提示,虽然当你一起使用它们时:使用 angular resources
(处理 ajax)和 services/factories/providers
来调用你的控制器方法并检索数据angular 绑定到。 MVC 视图本身根本不会处理数据绑定。