Jquery knockout - 在模板中定义变量

时间:2013-03-04 20:56:29

标签: jquery knockout.js jquery-templates

我有一个淘汰模板,我想在其中定义一个本地参数(这是一个函数的结果),并在模板中使用它。

<script type="text/html" id="suggestedEmail-template">
    {{ var customVariable = processResult($data); }}
    <li>
        <span data-bind="text: emailValue, attr: { 'data-customValue': customVariable }"></span>
    </li>
</script>

有可能吗?

2 个答案:

答案 0 :(得分:2)

您可以执行以下操作:

<script type="text/html" id="suggestedEmail-template">
    <!-- ko if: customVariable = processResult($data) -->
    <li>
        <span data-bind="text: emailValue, attr: { 'data-customValue': customVariable }"></span>
    </li>
    <!-- /ko -->
</script>

答案 1 :(得分:0)

这听起来像是computed variable

的工作

在视图模型中:

var self = this;
self.customVariable = ko.computed(function()
{
    return processResult(this);
};

然后在你的html:

<span data-bind="text: emailValue, attr: { 'data-customValue': customVariable }"></span>