如何绑定到元素的布尔属性.看来这个
<my-element a-property-of-type-boolean='{{someBoolean}}'></my-element>
Run Code Online (Sandbox Code Playgroud)
不起作用,但我也无法找到如何在它暴露时绑定到它:
<my-element a-property-of-type-boolean></my-element>
Run Code Online (Sandbox Code Playgroud)
似乎可以选择将类型设置为Object而不是Boolean,但我不确定这种方法的有效性
谢谢 :-)
如果在元素上放置属性,则相关属性将始终为true.例如:
<my-element a-property-of-type-boolean='false'></my-element>
Run Code Online (Sandbox Code Playgroud)
a-property-of-type-boolean 是真的.
因此,如果要在元素上使用布尔属性,我建议使用默认值false声明属性,然后,如果需要将值更改为true,则可以在元素上添加属性.
你的聚合物原型:
Polymer({
is: 'my-element',
properties: {
aPropertyOfTypeBoolean: {
type: Boolean,
value: false
}
}
});
Run Code Online (Sandbox Code Playgroud)
你的元素:
<my-element a-property-of-type-boolean></my-element>
Run Code Online (Sandbox Code Playgroud)
好吧,对那些人感到抱歉。我没有做我的功课。实际上,一切似乎都完全按照我的希望进行,并且数据绑定工作正常。这是我为了证明我的观点而做的小例子
<!DOCTYPE html>
<html>
<head>
<meta name='viewport' content='width=device-width, initial-scale=1.0, maximum-scale=1.0'>
<meta name='mobile-web-app-capable' content='yes'>
<meta name='apple-mobile-web-app-capable' content='yes'>
<script src='bower_components/webcomponentsjs/webcomponents.js'></script>
<link rel='import' href='bower_components/polymer/polymer.html'>
</head>
<body>
<dom-module id='my-element'>
<template>
<div>In my element it is <div>{{aPropertyOfTypeBoolean}}</div></div>
</template>
</dom-module>
<script>
Polymer({
is: 'my-element',
properties: {
aPropertyOfTypeBoolean: {
type: Boolean,
value: false,
}
}
});
</script>
<dom-module id='main-page'>
<template>
<paper-button on-tap='tap'>Click me</paper-button>
<my-element a-property-of-type-boolean='{{someBoolean}}'></my-element>
<div>In main page it is <div>{{someBoolean}}</div></div>
</template>
</dom-module>
<script>
Polymer({
is: 'main-page',
properties: {
someBoolean: {
type: Boolean,
value: false
}
},
tap: function(){
this.someBoolean = !this.someBoolean;
}
});
</script>
<main-page></main-page>
Run Code Online (Sandbox Code Playgroud)