Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.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
Javascript 如何根据sammy js中的路由加载html文件?_Javascript_Jquery_Sammy.js - Fatal编程技术网

Javascript 如何根据sammy js中的路由加载html文件?

Javascript 如何根据sammy js中的路由加载html文件?,javascript,jquery,sammy.js,Javascript,Jquery,Sammy.js,我没有足够的javascript和jQuery开发经验,所以我想知道是否有人能告诉我如何创建一个使用sammy.js和HTML模板的函数 这是我现在的工作代码: <script> ;(function($) { var app = $.sammy(function() { this.get('#/', function() { $('#content').text(''); }); this.get('#/home', fun

我没有足够的javascript和jQuery开发经验,所以我想知道是否有人能告诉我如何创建一个使用sammy.js和HTML模板的函数

这是我现在的工作代码:

<script>
    ;(function($) {

      var app = $.sammy(function() {

        this.get('#/', function() { $('#content').text(''); });

        this.get('#/home', function() { $('#content').load('main.html'); });

      });

      $(function() { app.run() });

    })(jQuery);

</script>
感谢您的帮助

您只需要一个:

确保这是在你的其他路线之后,否则几乎所有的东西都会被呼叫(比如你已经在处理的
#/home

当然,您可以在管线中放置其他参数:

this.get('#/:where/:is/:pancakes/:house', function() {
    // Do things with this.params['where'], this.params['is'],
    // this.params['pancakes'], and this.params['house'].
});
你只需要确保你得到了正确的命令,否则路线会互相争斗。路线的匹配顺序与添加路线的顺序相同,因此更通用的“一网打尽”路线通常位于底部。

您只需在其中添加一个:

确保这是在你的其他路线之后,否则几乎所有的东西都会被呼叫(比如你已经在处理的
#/home

当然,您可以在管线中放置其他参数:

this.get('#/:where/:is/:pancakes/:house', function() {
    // Do things with this.params['where'], this.params['is'],
    // this.params['pancakes'], and this.params['house'].
});

你只需要确保你得到了正确的命令,否则路线会互相争斗。路由的匹配顺序与它们添加的顺序相同,因此更通用的“一网打尽”路由通常位于底部。

@Kartik:不能让你在Sammy.js上过得不愉快,这是我最喜欢的JavaScript库之一:)嗨,不知什么原因,当我直接转到
…html/#info
时,信息不是默认页面。。它似乎不会加载info.html,除非我特别单击页面上指向
#/info
页面的链接。那会发生吗?sammy.js不支持这个链接吗?@Kartik:sammy是在每个页面上设置的吗?我只是在说同一个页面。我在index.html上安装了sammy.js,菜单中有指向各种其他页面的链接,其中菜单中的所有链接都以
#/pagename
的形式显示,根据您的答案,一切正常。例如,当单击菜单上的信息链接=
#/info
时,info.html的内容会得到完美的显示。但是如果我将url复制到
index.html#/info
并将url粘贴到新选项卡中。。它不显示我看到的信息内容。问题是,当浏览器看到
index.html#/info
时,它将加载
index.html
页面,Sammy对此无能为力;然后,当加载
index.html
时,Sammy可以使用
#/info
完成它的工作。Sammy(或任何其他JavaScript)对此无能为力,除非你到处连接点击处理程序,Sammy不会这么做(当然,我也不应该这么做)。只要在链接中使用
#/info
样式的URL即可。@Kartik:不能让你对Sammy.js感到不快,那是我最喜欢的JavaScript库之一:)嗨,不知什么原因,当我直接转到
…html/#info
时,信息不是默认页面。。它似乎不会加载info.html,除非我特别单击页面上指向
#/info
页面的链接。那会发生吗?sammy.js不支持这个链接吗?@Kartik:sammy是在每个页面上设置的吗?我只是在说同一个页面。我在index.html上安装了sammy.js,菜单中有指向各种其他页面的链接,其中菜单中的所有链接都以
#/pagename
的形式显示,根据您的答案,一切正常。例如,当单击菜单上的信息链接=
#/info
时,info.html的内容会得到完美的显示。但是如果我将url复制到
index.html#/info
并将url粘贴到新选项卡中。。它不显示我看到的信息内容。问题是,当浏览器看到
index.html#/info
时,它将加载
index.html
页面,Sammy对此无能为力;然后,当加载
index.html
时,Sammy可以使用
#/info
完成它的工作。Sammy(或任何其他JavaScript)对此无能为力,除非你到处连接点击处理程序,Sammy不会这么做(当然,我也不应该这么做)。只需在链接中使用
#/info
样式的URL即可。
this.get('#/:where/:is/:pancakes/:house', function() {
    // Do things with this.params['where'], this.params['is'],
    // this.params['pancakes'], and this.params['house'].
});