Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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 mobile 如何使用主干动态导入css?_Jquery Mobile_Backbone.js_Underscore.js - Fatal编程技术网

Jquery mobile 如何使用主干动态导入css?

Jquery mobile 如何使用主干动态导入css?,jquery-mobile,backbone.js,underscore.js,Jquery Mobile,Backbone.js,Underscore.js,我正在开发一个应用程序,使用主干、下划线和jquerymobile。按照jqmobile的方式,我有一个索引页面,它以特殊的divs标记加载每个访问过的页面,并用属性data role=“page”标记。对于每个页面,我都有相应的样式文件(或嵌入在stylehtml标记中的代码片段)。我的问题是,我的标签上的东西的名字开始发生冲突。另一件事是,我不希望为每个页面加载不必要的样式文件。有没有办法只动态导入当前页面所需的css?一种方法是使用jquery(您90%的用户已经在使用主干网)及其load

我正在开发一个应用程序,使用主干、下划线和jquerymobile。按照jqmobile的方式,我有一个索引页面,它以特殊的
div
s标记加载每个访问过的页面,并用属性
data role=“page”
标记。对于每个页面,我都有相应的样式文件(或嵌入在
style
html标记中的代码片段)。我的问题是,我的标签上的东西的名字开始发生冲突。另一件事是,我不希望为每个页面加载不必要的样式文件。有没有办法只动态导入当前页面所需的css?

一种方法是使用jquery(您90%的用户已经在使用主干网)及其
load
get
ajax函数,或者其他任何函数,再加上回调

然后,如果需要,您可以从主干应用程序调用这些函数,并将
标记中的css作为模板插入到文档中

或者我认为还有专门的jquery函数


另一种方法是使用require.js和它的插件(我相信它有
text
plugin,这也可以让你加载你的javascript模板)。

我正在用它和插件完成你的要求

以下是我的一个视图中的一个片段:

define([
  'jquery',
  'underscore',
  'backbone',
  'views/company/form',
  'text!templates/company/company.html',
  'css!../../../css/company/company',
], function($, _, Backbone, Form, pageTemplate) {

  var Page = Backbone.View.extend({
    ...
  });

  return Page;

});
第7行,
'css!//css/company/company'
是加载此视图所需的css文件

加载
company.css
样式表后,即使加载了其他“页面”,它也会出现在浏览器中,因为没有实际的页面刷新。因此,我让我的主页视图在
元素上切换一个类:

// remove any old route-* classes existing on the html element
$('html').removeClassRegEx(/^route-.*/);
// add in the company's top-level class name
$('html').addClass('route-company');
公司
页面的所有特定于我的页面样式都适用于
.route公司

你可以找到那个