我正在尝试将ActivatedRoute组件注入我的组件中以访问我正在编辑的对象的ID(或者找出,没有ID参数,创建了新对象。)
我只创建了组件的模板,当我加载起始页面时(不是带有我想要使用的组件的页面的事件),我收到以下错误:
错误:(SystemJS)无法解析ActivatedRoute的所有参数:(?,?,?,?,?,?,?,?)。
这是我的代码:
import { Component, OnInit } from '@angular/core';
import { ActivatedRoute} from "@angular/router";
@Component({
selector: 'my-edit',
templateUrl: './templates/my-edit.htm',
providers: [ActivatedRoute]
})
export class MyEditComponent implements OnInit {
constructor(private route : ActivatedRoute){
console.log(route.params)
}
ngOnInit() : void {
}
}
它基于来自AngularJS网站(英雄)的示例代码,我真的不知道这里的问题...我不能将ActivatedRoute导入Component,或者我需要一些额外的东西才能导入它?
我的路由配置是:
@NgModule({
imports: [ RouterModule.forRoot(routes) ],
exports: [ RouterModule ]
})
export class AppRoutingModule {}
其中routes
是路径的集合,就像在角度示例中一样,AppRoutingModule
是在app.module中导入的。
答案 0 :(得分:25)
从 def sendtopicerequesttoexchange(self):
context = zmq.Context(1).instance()
sock = context.socket(zmq.PUB)
sock.linger = 0
try:
sock.bind("tcp://ip:port")
except:
sock.connect("tcp://ip:port")
topicxml = xmltree.Element("MessageXML")
topicxml.attrib['NodeAddr'] = '040000846'
topicxml.attrib['Payload'] = 'HeyBob'
replymsg = xmltree.tostring(topicxml)
msg = [str.encode("send.downlink"), str(replymsg).encode('utf-8')]
msg[0] = str(msg[0]).encode('utf-8')
try:
count = 0
while True:
time.sleep(4)
sock.send_multipart(msg)
print("msg %s" %(msg))
count += 1
if count > 1:
break
time.sleep(.2)
except Exception as bob:
print(bob)
finally:
time.sleep(5)
sock.setsockopt(zmq.LINGER, 0)
sock.close()
移除providers: [ActivatedRoute]
没有必要。 @Component()
已经提供了所需的一切。
答案 1 :(得分:1)
扩展@günter-zöchbauer的答案。确保您已将RouterModule
添加到exports
的媒体资源@NgModule
。 exports
中指定的指令/管道/模块将是
在模板中使用属于Angular的任何组件 模块,用于导入此Angular模块。
即。在模块的所有子组件中。