1

我有一个 kendoui 模板定义如下(简化):

<script id="detailsTemplate" type="text/x-kendo-template">

<tr class="row k-alt">
  <td>
        #(OwnerId == userInfo.UserId)? "Me" : OwnerName#
    </td>
</tr>    
</script>

在我的文档就绪事件中,我定义了userInfo对象:

$(document).ready(function () {
     var userInfo = $.parseJSON($.cookie('visitorData'));   

userInfo.UserId当数据源读取返回数据时,我收到一个未定义的 js 错误。有什么方法可以让我的userInfo对象在模板中可用?有没有其他方法可以解决这个问题,而不必在返回数据的每个项目中定义 userInfo ?

4

3 回答 3

3

模板中的变量(afaik)需要是绑定数据的一部分或全局变量。

尝试定义:

userInfo = $.parseJSON($.cookie('visitorData'));
$(document).ready(function () {

    ....
}

模板为:

<script id="detailsTemplate" type="text/x-kendo-template">
    <tr class="row k-alt">
        <td>
            #= (OwnerId == userInfo.UserId)? "Me" : OwnerName #
        </td>
    </tr>    
</script>
于 2013-03-04T18:45:54.713 回答
2

上下文不一样。您定义变量的范围与执行模板的范围不同。

为对象创建一个全局变量,在userInfo您共享的文档就绪处理程序之外声明它。

于 2013-03-04T18:47:51.257 回答
0

使用带有剑道网格的内联模板

template: "<input type='checkbox' class='checkbox' #: defaultCost > "+self.range +"? 'disabled':'' #/>"

self.range 我的页面级别可在哪里

于 2016-03-29T10:17:41.970 回答