Number
λ°μ΄ν° μ νμΌλ‘ μ μλ μμ±μ μ¬μ©μ μ
λ ₯μΌλ‘ μΈν΄ String
λ°μ΄ν° μ νμΌλ‘ λ³νλ©λλ€. μ΄ μ¦μμ΄ iron-input
λ paper-input
μλ§ λ°μνλ κ²μ΄ μλλΌ ν΄λ¦¬λ¨Έμ λμμΈμ§ κΆκΈν©λλ€. λ°μ΄ν° μ ν λ³νμ μ€μ§νλ κ°λ¨ν λ°©λ²μ΄ μμ΅λκΉ?
λ€μ iron-input
μ무 μ«μλ μ
λ ₯νμΈμ. "λ¬Έμμ΄"μ΄ νμ λνλ©λλ€.
index.html:
<!DOCTYPE html>
<html>
<head>
<script src="bower_components/webcomponentsjs/webcomponents-lite.min.js"></script>
<link rel="import" href="proto.html">
</head>
<body>
<proto-element></proto-element>
</body>
</html>
proto.html:
<link rel="import" href="bower_components/polymer/polymer.html">
<link rel="import" href="bower_components/iron-input/iron-input.html">
<dom-module id="proto-element">
<template>
<input is="iron-input" bind-value="{{value}}">
</template>
</dom-module>
<script>
Polymer({
is: "proto-element",
properties:{
value:{
type:Number,
value:1,
observer:"valueChanged"
}
},
valueChanged:function(n,o){
if(typeof o != "undefined")
alert(typeof n);
}
});
</script>
μ΄κ²μ ν΄λ¦¬λ¨Έμ λμμ΄ μλλΌ νμ€ DOM λμμ
λλ€. input
νκ·Έμ value
μμ±μ λ¬Έμμ΄ κ°μ
λλ€.
https://developer.mozilla.org/en/docs/Web/API/HTMLInputElement
μμ±μ type: Number
λ μ΄μ μν₯μ λ―ΈμΉμ§ μμ΅λλ€. ν΄λΉ κ°μ μμ§λ ¬νν λλ§ μ¬μ©λ©λλ€.λ§ν¬μ
μ μμ± κ° . λ°λΌμ λ€μκ³Ό κ°μ λ§ν¬μ
μ΄ μλ κ²½μ°:
<my-element value="123">
λ¬Έμμ΄ "123"μΌλ‘ value
μμ±μ ꡬμ±νκ³ μμ΅λλ€. value
κ° type: Number
κ²½μ°
μ«μ 123μΌλ‘ μμ§λ ¬νλ©λλ€.
ννΈ, μ΄κ²μ:
<my-element value="{{hostValue}}">
νΈμ€νΈμ hostValue
μμ±μ my-element
μ value
μμ±μ λ°μΈλ©ν©λλ€. μ¬κΈ°μλ μ ν λ³νμ΄ ν¬ν¨λμ§ μμ΅λλ€. κ·Έλ€μ κ°μ κ°μΉλ₯Ό κ°μ§κ³ μμ΅λλ€.
λ°λΌμ μ
λ ₯μ λ¬Έμμ΄ κ°μ λ€λ₯Έ κ²μΌλ‘ λ³νν΄μΌ ν©λλ€. λ€μκ³Ό κ°μ΄ λ°μΈλ©ν μ μλ valueAsNumber
μμ±μ μ 곡ν©λλ€.
<input is="iron-input" type="number" value-as-number="{{value::input}}">
λλ valueChanged
λ©μλμμ κ°μ κ°μ λ³νν μ μμ΅λλ€.
valueChanged:function(n) {
if(typeof n == "string") {
this.value = Number(n);
}
}
@arthurvans μμΈν μ€λͺ
μ λ§ κ°μ¬ν©λλ€!
Polymerμ FAQμ μΆκ°νλ©΄ λ€λ₯Έ μ¬μ©μμκ²λ λμμ΄ λ κ²μ
λλ€.
μν μ ν arrayObjectλ₯Ό μ¬μ©νλ κ²½μ°. μ΄λ κ² ν΄κ²°νμλ©΄ λ©λλ€.
https://github.com/pongpanot-t/lab-polymer/blob/master/data-binding/bind-prop-number.html
κ°μ₯ μ μ©ν λκΈ
μ΄κ²μ ν΄λ¦¬λ¨Έμ λμμ΄ μλλΌ νμ€ DOM λμμ λλ€.
input
νκ·Έμvalue
μμ±μ λ¬Έμμ΄ κ°μ λλ€.μμ±μ
type: Number
λ μ΄μ μν₯μ λ―ΈμΉμ§ μμ΅λλ€. ν΄λΉ κ°μ μμ§λ ¬νν λλ§ μ¬μ©λ©λλ€.λ§ν¬μ μ μμ± κ° . λ°λΌμ λ€μκ³Ό κ°μ λ§ν¬μ μ΄ μλ κ²½μ°:λ¬Έμμ΄ "123"μΌλ‘
value
μμ±μ ꡬμ±νκ³ μμ΅λλ€.value
κ°type: Number
κ²½μ°μ«μ 123μΌλ‘ μμ§λ ¬νλ©λλ€.
ννΈ, μ΄κ²μ:
νΈμ€νΈμ
hostValue
μμ±μmy-element
μvalue
μμ±μ λ°μΈλ©ν©λλ€. μ¬κΈ°μλ μ ν λ³νμ΄ ν¬ν¨λμ§ μμ΅λλ€. κ·Έλ€μ κ°μ κ°μΉλ₯Ό κ°μ§κ³ μμ΅λλ€.λ°λΌμ μ λ ₯μ λ¬Έμμ΄ κ°μ λ€λ₯Έ κ²μΌλ‘ λ³νν΄μΌ ν©λλ€. λ€μκ³Ό κ°μ΄ λ°μΈλ©ν μ μλ
valueAsNumber
μμ±μ μ 곡ν©λλ€.λλ
valueChanged
λ©μλμμ κ°μ κ°μ λ³νν μ μμ΅λλ€.