我的问题与在同一页面上放置具有不同参数的相同组件有关。在这种情况下,它是一个包含来自第三方 Javascript 库 ( D3JS )的图表的组件,它需要一个 HTMLid属性来定位和修改组件的 HTML 内容。
现在这个id属性应该包含放置在页面上的每个图表的唯一字符串,如果我直接将它设置为来自父组件的字符串,它就可以正常工作:
<my-chart id="gaugeChart0"></my-chart>
我猜它工作的原因是,因为该id属性在组件创建时就存在,并且任何试图访问它的代码都可以立即完成。
然而,该图表又嵌入到引导程序 4 卡布局中,如下所示:
<div class="row">
<div class="col-6">
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-5">
<my-chart id="gaugeChart0"></my-chart>
</div>
<div class="col-7">
... Some other widgets ...
</div>
</div>
</div>
</div>
</div>
<div class="col-6">
<div class="card">
<div class="card-body">
<div class="row">
<div class="col-5">
<my-chart id="gaugeChart1"></my-chart>
</div>
<div class="col-7">
... Some other widgets ...
</div>
</div>
</div>
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
现在为了使它更方便(并轻松地将单击事件绑定到整个块等),我想将整个部分提取<div class="card">到一个新组件中。
假设我将这个新组件 …
当运行 python 脚本并使用 ipdb 设置断点时,我得到了一个非常奇怪的输出,如下程序所示:
\n\nimport sys\nimport ipdb\nparents, babies = (1, 1)\nwhile babies < 100:\n ipdb.set_trace()\n print 'This generation has {0} babies'.format(babies)\n ipdb.set_trace()\n parents, babies = (babies, parents + babies)\nRun Code Online (Sandbox Code Playgroud)\n\n第一次运行脚本时一切正常,在第一个断点处停止并打印所有变量。但是,一旦我接近第二个断点,无论我是单步执行还是继续,我都会在控制台中输出这些奇怪的字符:
\n\nC:\\pythontest>python ipdb_test2.py\n> c:\\pythontest\\ipdb_test2.py(6)<module>()\n 5 ipdb.set_trace()\n----> 6 print 'This generation has {0} babies'.format(babies)\n 7 ipdb.set_trace()\n\nipdb> n\nThis generation has 1 babies\n> c:\\pythontest\\ipdb_test2.py(7)<module>()\n 6 print 'This generation has {0} babies'.format(babies)\n----> 7 ipdb.set_trace()\n 8 parents, babies = (babies, parents + babies)\n\nipdb> n\n> \xe2\x86\x90[1;32mc:\\pythontest\\ipdb_test2.py\xe2\x86\x90[0m(8)\xe2\x86\x90[0;36m<module>\xe2\x86\x90[1;34m()\xe2\x86\x90[0m\n\xe2\x86\x90[1;32m 6 \xe2\x86\x90[1;33m \xe2\x86\x90[1;32mprint\xe2\x86\x90[0m \xe2\x86\x90[1;34m'This generation has {0} …Run Code Online (Sandbox Code Playgroud)