AngularJS预填充列表空选项

时间:2014-03-16 08:58:06

标签: asp.net-mvc angularjs selectlist

我有一个日期列表,在初始加载时被推送到View,然后在页面加载时使用它来提交一个表单,该表单加载一些用angularjs解析的数据,作为一种“得到的东西这个日期“。

我遇到的问题是,我得到一个空选项。这似乎是大量解决方案的常见问题......如果选择列表由Angular填充。但是,想要将javascript保留在我的观点之外,我正在使用它:

@Html.DropDownListFor(x => Model.Date, Model.DateList, new { ng_model = "getFormData.Date", ng_change = "getNote()" })

我在控制器中设置了“selected”属性。但是角度不尊重(我可以理解为什么),因此我需要摆脱它,因为在页面加载时我需要获取列表中的第一个日期并动态加载另一个数据

我如何解决这个问题?请注意我对Angular来说相当新,这是个人练习,以获得更清洁的解决方案。

1 个答案:

答案 0 :(得分:0)

您需要将模型绑定的责任移交给Angular。尝试继续在MVC中执行此操作将导致一个痛苦或hacky解决方案的世界,例如在Angular控制器中引用DOM元素或在视图中将MVC模型序列化为JSON,以便它可以附加到范围。

如果你还没有为完全成熟的SPA(单页面应用程序)做好准备并希望采用混合方法,我的建议是使用MVC来简化你的HTML(没有模型绑定),然后是MVC / Web用于返回Angular控制器可以请求的JSON的API。

相关问题