2016-09-08 24 views
0

ローカライズされたテキストをひげそり構文で使用したいと考えています。
現在のコンテキストを使用して文字列を補間する方法はありますか?ランタイム文字列補間

import Ractive from 'ractive'; 

var Dashboard = Ractive.components.Dashboard = Ractive.extend({ 
template: "<div>{{message}}</div>", 
data() { 
    return { name:'Mike', message: '' } 
}, 
oncomplete() { 
    this.set('message', 'hello my friend, {{name}}') 
} 
}); 

答えて

0

これを行うより良い方法があるかもしれませんが、これを部分的に行うことができます。部分を使用してメッセージをレンダリングし、部分テンプレートを変更します。注意すべき唯一の奇妙な点は、テンプレートが変更されたことを認識させるために部分的な部分を取り消し/再レンダリングしなければならないということです。デモのためにクリックしたときにchangeMes​​sage()を呼び出すボタンをテンプレートに追加しました。

import Ractive from 'ractive'; 

Ractive.components.Dashboard = Ractive.extend({ 
    template: '<div>{{#render}}{{>messagePartial}}{{/}}</div> <button on-click="changeMessage()">Change message</button>', 

    data() { 
    return { name: 'Mike', message: '', render: true }; 
    }, 

    partials: { 
    messagePartial: '{{message}}' 
    }, 

    changeMessage() { 
    this.partials.messagePartial = 'hello my friend, {{name}}'; 

    // force partial to re-render 
    this.set('render', false); 
    this.set('render', true); 
    } 
});