当通过AngularJS启用html5Mode时$locationProvider.html5Mode(true),当您登陆网站更深的页面时,导航似乎会出现偏差.
例如:
http://www.site.com
当我导航到根目录时,我可以点击网站中的所有链接,Angular $routeProvider将接管浏览网站并加载正确的视图.
http://www.site.com/news/archive
但是当我导航到这个网址时(或者当我在像上面那样的深层链接时点击刷新...)这个导航无法正常工作.首先,我们作为$ locationProvider.html5Mode的文档指定,我们捕获服务器上的所有URL,类似于otherwiseangular中的路由,并返回与根域相同的html.但是,如果我$location从run角度函数中检查对象,它告诉我那http://www.site.com是我的host,那/archive就是我的path.在$routeProvider到达的.otherwise()条款,因为我只有/news/archive一个有效的途径.而应用程序做了奇怪的事情.
也许在服务器上的重写需要以不同的方式完成,或者我需要以角度指定东西,但是目前我还不知道为什么角度看到没有/news包含段的路径.
示例main.js:
// Create an application module
var App = angular.module('App', []);
App.config(['$routeProvider', '$locationProvider', function AppConfig($routeProvider, $locationProvider) {
$routeProvider
.when(
'/', {
redirectTo: '/home'
})
.when('/home', {
templateUrl: 'templates/home.html'
})
.when('/login', {
templateUrl: 'templates/login.html'
})
.when('/news', {
templateUrl: 'templates/news.html'
})
.when('/news/archive', {
templateUrl: …Run Code Online (Sandbox Code Playgroud) 我在我的页面中有一个表,我使用colgroups以相同的方式格式化此列中的所有单元格,适用于背景颜色和所有.但似乎无法弄清楚为什么文本对齐中心不起作用.它没有将文本对齐居中.
例:
<table id="myTable" cellspacing="5">
<colgroup id="names"></colgroup>
<colgroup id="col20" class="datacol"></colgroup>
<colgroup id="col19" class="datacol"></colgroup>
<colgroup id="col18" class="datacol"></colgroup>
<thead>
<th> </th>
<th>20</th>
<th>19</th>
<th>18</th>
</thead>
<tbody>
<tr>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
</tr>
</tbody>
</table>
Run Code Online (Sandbox Code Playgroud)
CSS:
#names {
width: 200px;
}
#myTable .datacol {
text-align: center;
background-color: red;
}
Run Code Online (Sandbox Code Playgroud) 我一直致力于一个更像框架的项目,并且有几个可以安装的应用程序/模块.将其视为基本appstore或google.play商店.它是一种Intranet应用程序,所有模块都可以添加到您的useraccount中.
该框架已经在开发中,但我现在正在围绕应用程序/模块的想法.(链接到开发中的概念证明,可以在这里找到)
一个应用程序应该是独立的,并且不能突然包含来自框架的脚本,这完全可以通过在单独的模块中构造它们,如下所示:
angular.module('myApp', []);
Run Code Online (Sandbox Code Playgroud)
然而,一个应用程序可以有模板,脚本,CSS,它可以在一个单独的服务器上运行,所以我有点寻找获取脚本和cssfile的最佳方法,并动态加载到应用程序当用户app从框架内启动时.
www.framework.com/apps/myapp/views/app.html,为了简单起见,我将脚本捆绑到每个应用程序的1个脚本文件中,因此还有一个www.framework.com/apps/myapp/script.js要包含的内容.该框架包含一个加载应用程序的模板,以及一个appController.模板包含这篇文章:
<div data-ng-controller="AppController" data-ng-include="app.appTemplate">
<div>loading...</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这基本上绑定到$scope.app.appTemplate加载所有脚本时更新的,所以首先它显示一个加载模板,稍后在脚本包含在页面中之后,它会更新app.appTemplate到上面提到的应用程序的主模板.
在加载第一个索引模板时,这个模板当前是AppController从框架加载的,所以它使用的$scope是框架,而不是它自己的脚本.
我仍然需要以某种方式启动应用程序自己的角度模块,让它自己运行而不在框架中运行任何东西以"让它工作"
我还在搞清楚如何最好地加载依赖的javascript文件(可能会使用requrejs或其他依赖加载器)但我目前还不知道如何在没有框架内部工作的情况下"启动"应用程序 AppController
编辑
我创建了一个小的演示项目来显示手头的问题,在git-hub上可以看到完整的代码,此时这个项目做了一些硬编码的事情,我的想法是当我得到证明概念是正确的,现在它是关于在框架内加载应用程序.如果可能,我可以考虑从哪里获取URL和应用程序名称...
我们正在开发一个包含旧代码的JavaScript工具,因此我们无法重写整个工具.
现在,添加了一个固定在底部的菜单,客户非常希望有一个切换按钮来打开和关闭菜单,除非关闭需要在用户开始执行菜单时自动执行,例如,当用户返回页面,并在表单字段上选择某些内容或单击时.
这可以在技术上处理一个click事件body,触发任何点击,但旧代码中有许多项目,其中一个点击事件在内部链接上处理,return false并被添加到点击功能,以便网站不继续链接的href标签.
很明显,像这样的通用函数确实有效,但是当点击内部链接时,返回false会停止传播.
$('body').click(function(){
console.log('clicked');
});
Run Code Online (Sandbox Code Playgroud)
有没有办法我可以强制进行身体点击事件,还是有另一种方法可以让菜单消失,使用一些全局点击事件或类似的东西?
无需重写多年前创建的应用程序中的所有其他点击.这将是一个怪物任务,特别是因为我不知道如何重写它们,没有返回错误,但仍然不让他们去他们的href.
到目前为止,我一直在尝试的所有测试和教程,以获得我的头脑中的结构,告诉我一个视图绑定到1个模型.
假设我有一个小应用程序来存储和管理联系人详细信息(地址簿)我有多个用户可以登录,他们每个人都有自己的联系人集合.
用户详细信息视图将绑定到用户模型,同样适用于联系人
但是我想展示一个结合了这两个X轴的网格,显示应用Y轴上显示所有用户的所有联系人,
这是如何运作的?我是否需要为此创建一个新模型,以绑定到一个新视图?
你得到了这个想法,它只是一个理论上的例子,我不是在构建那个应用程序,而是为了得到一个结合多个模型的视图的想法
刚刚安装了新的ubuntu vm来按顺序测试节点安装的东西:
node
mongodb-server
npm
express
mongoose
Run Code Online (Sandbox Code Playgroud)
现在,尝试创建一个新的应用程序我注意到快递不能在shell中使用.
express -v return express:找不到命令
我像这样安装了npm
curl http://npmjs.org/install.sh | sudo sh
Run Code Online (Sandbox Code Playgroud)
我安装了这种方式
npm install express
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我有4个小类来从xm轮询中反序列化xml,到可用的类来构建轮询.
现在,我知道如何从类中设置属性,以匹配xml中的某个属性或元素,如果该元素只是一个简单的字符串,但如果该元素也具有如下例所示的属性,该怎么办?
<Questions>
<Question id="a guid">
<AnswerItems>
<AnswerItem Id="a guid">3</AnswerItem>
<AnswerItem Id="a guid">2</AnswerItem>
<AnswerItem Id="a guid">5</AnswerItem>
</AnswerItems>
</Question>
</Questions>
Run Code Online (Sandbox Code Playgroud)
问题类看起来像这样:
[Serializable()]
public class Question
{
[XmlAttribute("Id")]
public Guid QuestionId { get; set; }
[XmlArray("AnswerItems")]
[XmlArrayItem("AnswerItem", typeof(AnswerItem))]
public AnswerItem[] AnswerItems { get; set; }
}
[Serializable()]
public class AnswerItem
{
[XmlAttribute("Id")]
public Guid QuestionId { get; set; }
// how do i fetch the value of this node?
// its not a XmlElement and it's not an XmlValue
}
Run Code Online (Sandbox Code Playgroud)
好的,所以AnswerItem节点的值,这也是我想要得到的.我可以很容易地不使用AnswerItem类,只使用String类型的XmlArray AnswerItems并将值放在数组中,但之后我将丢失AnswerItem的Id属性.
当使用订单插件时,require.js在给定的basePath/order.js中查找它
例:
require(
{
baseUrl: '/public/js/'
},
[
'require',
'order!http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.1.7/underscore-min.js',
'order!http://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.5.3/backbone-min.js',
'order!http://cdnjs.cloudflare.com/ajax/libs/json2/20110223/json2.js'
],
function (require) {
require(['application'], function (app) {
app.run();
});
}
);
Run Code Online (Sandbox Code Playgroud)
它寻找订单插件http://url.com/public/js/order.js我可以以某种方式存储它不在我的JavaScript文件夹的根目录?
我正在研究一个带有backbone.js的javascript应用程序,它说,为了便于开发,我以这种方式构建我的文件
app
|
+ views
| L movieRow.js
| L movieDetail.js
|
+ models
| L movie.js
| L tvshow.js
|
+ collections
| L movies.js
| L tvshows.js
|
+ templates
| L movieList.tpl
| L movieDetail.tpl
| L applicationUI.tpl
|
L application.js
Run Code Online (Sandbox Code Playgroud)
现在,这是很多javascript文件服务器给用户,我看到一些关于labjs或require.js的讨论,并决定用它来测试.但我不知道如何将所有骨干模型或视图重写为这些require.js模块.
任何正确方向的帮助都会很好.
因此,构建一个使用多个(现在为2个)全局集合的应用程序,它是文档和患者的目录,它们有关系,但不是1个文档或属于1个患者的文档列表,因此它们是事实上2个独立的收藏,
我的应用程序是在模块系统中构建的,与此处描述的非常类似:http: //weblog.bocoup.com/organizing-your-backbone-js-application-with-modules
backbone.js文档说关于bootstrapping,做这样的事情,
<script>
Accounts.reset(<%= @accounts.to_json %>);
</script>
Run Code Online (Sandbox Code Playgroud)
在Rails应用程序中,我需要在asp.net MVC3中以不同的方式执行,很可能我只打印出我的json字符串而没有<%=%>这不是razor视图引擎样式)
但我的问题是,
这Accounts.reset(...data...);只是在我的标记中浮动,它在我的模块系统中没有任何好的结构,是不是有办法很好地做到这一点?从我的模块中我可以获取数据的位置?
还有另外一个问题,假设我的骨干应用程序http://example.com/#documents中有一条路线
并且有人直接调用此链接,我的应用程序是否准备好数据(来自引导程序),在路由本身执行之前?
javascript ×5
backbone.js ×3
angularjs ×2
requirejs ×2
asp.net-mvc ×1
bash ×1
c# ×1
c#-4.0 ×1
css ×1
css-tables ×1
events ×1
express ×1
html ×1
html-table ×1
jquery ×1
node.js ×1
npm ×1
xml ×1