Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 错误:view.hlp(…)不是jsrender中的函数_Jquery_Html_Templates_If Statement_Jsrender - Fatal编程技术网

Jquery 错误:view.hlp(…)不是jsrender中的函数

Jquery 错误:view.hlp(…)不是jsrender中的函数,jquery,html,templates,if-statement,jsrender,Jquery,Html,Templates,If Statement,Jsrender,我使用jsrender在网格中映射模板。如果条件如下,我在jsrender中调用一个方法 @section scripts{ $.views.helpers({ isMobile: function () { return ("@IsMobileDevice" == "False" && (window.innerWidth < 1200)); } }); } @节脚本{ $.views.helper

我使用jsrender在网格中映射模板。如果条件如下,我在jsrender中调用一个方法

@section scripts{
    $.views.helpers({
        isMobile: function () {
            return ("@IsMobileDevice" == "False" && (window.innerWidth < 1200));
        }
    });
}
@节脚本{
$.views.helpers({
isMobile:function(){
返回(“@IsMobileDevice”==“False”&&(window.innerWidth<1200));
}
});
}

{{if~isMobile()}
  • show
  • {{/if}
    但我得到了一个错误:

    hlp(…)不是一个函数


    这里出了什么问题?

    发布Razor代码时很难提供帮助。您需要显示加载到浏览器中的代码,而不是服务器代码,因为您的问题是关于客户端JsRender的


    似乎
    isMobile
    helper不是一个函数。可能在运行模板呈现代码之前,没有在浏览器中加载帮助器定义代码-或者服务器代码中存在问题/错误,因此
    isMobile
    帮助器在浏览器中注册,但不是一个函数

    我也遇到过类似的问题,我的helper方法的错误在于我在初始化之前调用了helper方法。参见下面的示例

    错误代码

    <script type="text/x-jsrender">
    {{if ~isMobile()}}
        <li class="show">Show</li>
    {{/if}}
    
     $.views.helpers({
        isMobile: function () {
            return ("@IsMobileDevice" == "False" && (window.innerWidth < 1200));
        }
    });
    </script>
    
    <script type="text/x-jsrender">
    $.views.helpers({
        isMobile: function () {
            return ("@IsMobileDevice" == "False" && (window.innerWidth < 1200));
        }
    });
    {{if ~isMobile()}}
        <li class="show">Show</li>
    {{/if}}
    </script>
    
    
    {{if~isMobile()}
    
  • show
  • {{/if} $.views.helpers({ isMobile:function(){ 返回(“@IsMobileDevice”==“False”&&(window.innerWidth<1200)); } });
    正确的代码

    <script type="text/x-jsrender">
    {{if ~isMobile()}}
        <li class="show">Show</li>
    {{/if}}
    
     $.views.helpers({
        isMobile: function () {
            return ("@IsMobileDevice" == "False" && (window.innerWidth < 1200));
        }
    });
    </script>
    
    <script type="text/x-jsrender">
    $.views.helpers({
        isMobile: function () {
            return ("@IsMobileDevice" == "False" && (window.innerWidth < 1200));
        }
    });
    {{if ~isMobile()}}
        <li class="show">Show</li>
    {{/if}}
    </script>
    
    
    $.views.helpers({
    isMobile:function(){
    返回(“@IsMobileDevice”==“False”&&(window.innerWidth<1200));
    }
    });
    {{if~isMobile()}
    
  • show
  • {{/if}
    希望这会有帮助