我正在尝试编写一个可以在我的应用程序中重用的组件,有时会显示一个控制按钮,有时则不会.
理想情况下,我想从属性的存在或不存在得到这个,以便使用组件看起来像<generic-component hideControls></generic-component>,在我的组件中使用布尔变量,基于该属性是否存在,但我看不到这样做的方式.
有没有办法做到这一点?
我尝试过下面稍微杂乱的版本(虽然理想情况下我不需要在showControls/hideControls上设置一个值);
generic.component.html
<div>
<div>Stuff</div>
<div *ngIf="showControls">Controls</div>
</div>
Run Code Online (Sandbox Code Playgroud)
generic.component.ts
// imports etc.
@Component({
selector: 'generic-selector',
templateUrl: 'generic.component.html'
})
export class GenericComponent implements OnInit {
@Input()
public showControls: boolean = true;
// other inputs and logic
}
Run Code Online (Sandbox Code Playgroud)
这失败了,因为用法<generic-selector showControls="false"></generic-selector>将showControls设置为字符串"false",这是真实的,而不是布尔值.因此,我必须通过在组件中添加大量混乱来获取输入并根据是否给出字符串"false"来转换为布尔值.一个非杂乱的方式来分类这将是值得赞赏的,但我更愿意能够做上面的其他选择.
我正在运行Windows 7,并使用python版本2.7.
我一直在尝试使用pygraphviz,但每当我G.layout()在图表上使用时,我都会收到错误消息;
Traceback (most recent call last):
File "<pyshell#16>", line 1, in <module>
G.layout()
File "C:\Python27\lib\site-packages\pygraphviz\agraph.py", line 1305, in layout
data=self._run_prog(prog,' '.join([args,"-T",fmt]))
File "C:\Python27\lib\site-packages\pygraphviz\agraph.py", line 1251, in _run_prog
runprog=r'"%s"'%self._get_prog(prog)
File "C:\Python27\lib\site-packages\pygraphviz\agraph.py", line 1239, in _get_prog
raise ValueError("Program %s not found in path."%prog)
ValueError: Program neato not found in path.
Run Code Online (Sandbox Code Playgroud)
但是,我知道Graphviz文件已经安装,目录在我的路径中(我手动去了并添加了它).
我已经尝试过这里给出的simlink解决方案,但是当我进入命令行(管理员模式)时我得到的是一条消息,说它不被识别为内部或外部命令,可操作程序或批处理文件.我没有足够的经验知道是否有一些我没有做到的事情.
我能做些什么来使这项工作?