Angular:如何将Spring Model返回的List分配给Angular对象?

时间:2018-05-04 16:57:28

标签: java spring angular typescript spring-mvc

我要求在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";
}

Angularlab.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[]'

在脚本文件中使用该列表的正确方法是什么?

2 个答案:

答案 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对象,但您没有在任何地方提供它。