debugging Polymer 0.5主站点的信息已经过时,不适用于 Polymer 1.0 。
我想看一些日志,所以我做了什么:
<script>
window.Platform = {flags: {debug: true, log: 'bind,ready'}};
</script>
<script src="/node_modules/webcomponents.js/webcomponents.js" debug></script>
<link rel="import" href="...">
导入内部:
<link rel="import" href="./bower_components/polymer/polymer.html">
<dom-module id="my-custom-element">...</dom-module>
点击网址:http://localhost:8080/index.html?debug&log=bind,ready,events
最后我在控制台上看不到任何日志。
调试Polymer 1.0 的正确方法是什么?
答案 0 :(得分:7)
如果您正在调试属性(例如数据绑定),请阅读properties guide,并使用observers
字段。这是一个例子:
Polymer({
is: 'portfolios-foobar',
properties: {
portfolios: {
type: Array,
value: [],
notify: true,
reflectToAttribute: true,
observer: 'logChange'
}
},
logChange: function(newValue, oldValue) {
console.log('Changed! To:', newValue);
},
addFolio: function(folio) {
this.push('portfolios', folio);
},
observers: [
'logFor(portfolios)',
'hackyObserver1(portfolios.*)',
'hackyObserver2(portfolios.splices)'
],
logFor: function(newValue, oldValue) {
console.log('LogFor! To:', newValue);
},
hackyObserver1: function(changes) {
console.log('One!', changes);
},
hackyObserver2: function(changeRecord) {
console.log('Two! Splices!', changeRecord);
}
});
在连接Polymer之后,您可以:
Polymer.log = console.log.bind(console); // Not part of the public API, may be broken.
这将记录正在注册的元素名称。
答案 1 :(得分:1)
我希望这就是您所寻找的console.info();
您可以在https://www.polymer-project.org/1.0/docs/devguide/events&#34;事件重新定位&#34;
找到它我会介绍代码示例,但他们已在文档中执行此操作。