Polymerで計算された属性を使用しようとしていますが、私は常に空の値を取得します。この場合、datagraphというカスタム要素に属性があります。また、サーバーへの投稿リクエストを作成し、JSONファイルを取得し、結果を計算して表示します。これは私のカスタム要素です:Polymerの空の値計算された属性
<dom-module id="cost-card">
<template>
<style>
p.datos3{
color: #10cebc;
text-align: center;
font-size: 22px;
margin-top: 0px;
}
</style>
<p class="datos3">{{datagraph}}</p>
</template>
<script>
Polymer({
is: "cost-card",
properties:{
usr:{
type: Number,
value: 2
},
command:{
type: String,
value: "SP_GetCostoCampania"
},
datagraph:{
type: Number,
computed: 'getCost(command,usr)'
}
},
getCost: function(command,usr){
var options = {
hostname: 'localhost',
path: '/',
port: 8081,
secure: false,
method: 'POST',
headers: {
'x-powered-by': 'HTTPClient.js'
},
'Content-Type': 'application/json'
}
var innerCost;
var example1 = new HTTPClient(options);
example1.post("/executeGraph1?command="+ command + "¶m1=" + usr, function (err, res, body) {
body = JSON.parse(body);
innerCost = body[0].price * body[0].exchengeRate;
});
return innerCost;
}
});
</script>
</dom-module>
私は特急サーバーを実行している、情報が正しく配信されているが、{{}} DataGraphのタグが空に保ちます。私はそれはポストリクエストが任意のタスクであり、その値が後で提供されるためかもしれないと思うが、私は同じ結果でプロミスを使ってみた。
誰でもこれを行う適切な方法を知っていますか?
私は実際には2つの他の引数とのgetコストを養うが、示されたコードを簡単にするために、ここでそれらを削除しました。私はそれが変わることを知っていませんでした。私は質問を編集します。この新しい情報が、あなたが答えとして提案したものを変更するかどうか教えてください。 –
申し訳ありませんが、あなたのコードを編集しました。私のものではありません。今それは正しい –
その場合、あなたはオブザーバーを使いたいでしょう。私はそれを示すコードを更新しました。 – vox