是否可以在没有MVC的情况下使用stock over sockjs.所以我想在tomcat中有spring rest接口,而angular2应用程序由express运行.
WebSocketConfig.java
@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig extends AbstractWebSocketMessageBrokerConfigurer {
@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
// the endpoint for websocket connections
registry.addEndpoint("/portfolio").setAllowedOrigins("*").withSockJS();
}
@Override
public void configureMessageBroker(MessageBrokerRegistry config) {
config.setApplicationDestinationPrefixes("/app");
config.enableSimpleBroker("/topic");
}
}
Run Code Online (Sandbox Code Playgroud)
SocketController.java
@Controller
public class SocketController {
@Autowired
private SimpMessagingTemplate template;
public SocketController() {
int a = 5;
}
@MessageMapping("/greeting")
public String handle(String greeting) {
return "[" + "greeting" + ": " + greeting;
}
}
Run Code Online (Sandbox Code Playgroud)
和打字稿代码:
...
constructor() {
var socket = new …Run Code Online (Sandbox Code Playgroud) 当我输入到该组件时,我有url/app的父组件,默认情况下,下面的组件加载了以下路由:
@Routes([
{ path: '/users', component: UserComponent },
{ path: '/other', component: OtherComponent }
])
Run Code Online (Sandbox Code Playgroud)
我正在实现OnInit接口:
ngOnInit() {
this.router.navigate(['users'], this.currSegment);
}
Run Code Online (Sandbox Code Playgroud)
由于父路由是/ app而child正在实现ngOnInit,我可以导航到用户,但如果我想直接通过url导航到路由/其他,则不可能.