我要求在List
中将model attribute
个对象设置为spring controller
,我需要将其分配给angular .ts
文件中的对象。
这是我需要做的。我的java对象:
public class Lab {
//some members of the class
}
这是将其添加到Model
的方式:
public String getIndexPage(@RequestParam(value="val") List<Lab> labs, Model model){
model.addAttribute("val", labs);
return "index.html";
}
Angular
内lab.ts
内的相应对象:
export class Lab {
// same variables as in java
}
以下是我需要分配component.ts
列表的val
文件:
export class VideoFormComponent implements OnInit {
selectedValues: Lab[] = new Array(4);
ngOnInit() {
this.selectedVideos = "${model.val}"; //assignment statement
}
但是这里出现的错误是:
Type '"${model.val}"' is not assignable to type 'Lab[]'
在脚本文件中使用该列表的正确方法是什么?
答案 0 :(得分:0)
OdbcConnectionStringBuilder builder;
builder = new OdbcConnectionStringBuilder();
builder.Driver = "SQL Server";
builder.Add("Server", ".\\SQLEXPRESS");
builder.Add("Uid", "");
builder.Add("Pwd", ""); // Using current user
builder.Add("Integrated Security", "SSPI");
connection = new OdbcConnection(builder.ConnectionString);
只是Typescript中的一个字符串。
如果"${model.val}"
是形状类似model.val
的对象数组,则可以执行Lab[]
。
如果this.selectedVideos = <Lab[]>model.val
是已经输入model.val
的数组,您可以简单地说Lab[]
我不确定你要做什么,但我假设你正在使用Angular HttpClient或websocket或其他东西来首先从服务器端点获取数据到客户端。
答案 1 :(得分:-1)
您如何向角度组件提供model
数据?如果您的数据来自Http请求,您应该创建一个发出请求的服务,然后从您的组件中调用它,并将结果设置在selectedValues
变量中。或者,如果要将数据作为组件的输入提供,则应使用@Input装饰器。在任何一种情况下,数据都是在组件外部提供的。对于我所阅读的内容,您尝试使用具有model
属性的val
对象,但您没有在任何地方提供它。