的W3C验证不喜欢自闭合标签(那些与"端/>")上非空元素.(Void元素是那些可能不包含任何内容的元素.)它们在HTML5中仍然有效吗?
可接受的 void元素的一些示例:
<br />
<img src="" />
<input type="text" name="username" />
Run Code Online (Sandbox Code Playgroud)
被拒绝的非虚元素的一些例子:
<div id="myDiv" />
<span id="mySpan" />
<textarea id="someTextMessage" />
Run Code Online (Sandbox Code Playgroud)
注意: W3C验证器实际上接受无效的自动关闭标签:由于简单的拼写错误(\>而不是/>),作者最初遇到了问题.但是,自动关闭标签在HTML5中通常不是100%有效,并且答案详细说明了各种HTML风格的自闭标签问题.
我试图在运行Grunt Build后查看我的应用程序.我使用grunt serve:dist来查看所有生产就绪的构建但是在浏览器中我得到一个无限循环说:
警告:试图加载角度不止一次.
我已经读过这个,因为在连接之后TemplateURL:可能是错误的.正如在这篇文章中: 试图加载Angular多次
但是我该如何解决这个问题呢?这是我的app.js
/* global libjsapp:true */
'use strict';
var libjsapp = angular.module('libjsApp', [
'ngCookies',
'ngResource',
'ngSanitize',
'ngRoute'
]);
libjsapp.config(['$routeProvider', function ($routeProvider, $locationProvider) {
$routeProvider
.when('/', {
templateUrl: 'views/posts.html',
controller: 'PostsCtrl'
})
.otherwise({
redirectTo: '/'
});
}]);
Run Code Online (Sandbox Code Playgroud) 我试图了解这里发生了什么.警告是自我解释的,我意识到在应用程序中,使用下面的代码和结构,它运行ng-view两次('test'将在控制台中记录两次,所以当然角度加载两次! )....但为什么?
我已经阅读了我能找到的关于它的每一篇文章,它似乎归结为jQuery在角度之前被加载.
如果我离开了jQuery的,或者如果我angualr后加载的jQuery(这是不好的做法,从我的理解),没问题.我想让jQuery支持一些功能(特别是ui-sortable).而且,虽然它似乎并没有造成任何问题,但我不想让它运行我的ng-view两次.
我做了一些结构上错误的事情,还是我错过了一个明显的方法来解决这个问题?
更新: 问题的Plunker(检查控制台)
index.html的:
<!DOCTYPE html>
<html lang="en" ng-app="myApp">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Site Title</title>
</head>
<body ng-view>
<script type="text/javascript">
console.log('test')
</script>
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular.js"></script>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.16/angular-route.js"></script>
<script type="text/javascript" src="app_simple.js"></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
app_simple.js:
'use strict';
/**
* Configure client module
*/
var myApp = angular.module('myApp',
[
'ngRoute'
]);
myApp.config(function ($routeProvider) {
$routeProvider
.when('/simple', {
templateUrl: 'components/simple/simple.html',
controller: 'SimpleCtrl'
})
.otherwise({
redirectTo: …Run Code Online (Sandbox Code Playgroud)