Meteor-Angular 教程:HTML 模板格式错误,适用于 copy/paste 代码
Meteor-Angular tutorial: bad formatting in HTML template, for copy/paste code
完成 meteor-angular tutorial, at step 2 我创建了 angular 模板 todos-list.ng.html
:
<div class="container">
<header>
<h1>Todo List</h1>
</header>
<ul ng-repeat="task in tasks">
<li>{{task.text}}</li>
</ul>
</div>
并得到这个结果
=> Errors prevented startup:
While building the application:
todos-list.ng.html:1: bad formatting in HTML template
=> Your application has errors. Waiting for file change.
由于这是复制粘贴,所以我很困惑。我看不出有什么可以解释的,还有其他人有什么想法吗?
更新
这是其他文件。前面的子步骤有效,如果有帮助的话。我确信这很愚蠢,但我确实看不出是什么,
简单待办事项-angular.html:
<head>
<title>Charlie's Todo List with Angular.js</title>
</head>
<body ng-app="simple-todos"
ng-include="'todos-list.ng.html'"
ng-controller="TodosListCtrl">
</body>
简单待办事项-angular.js:
if (Meteor.isClient) {
// This code only runs on the client
angular.module('simple-todos',['angular-meteor']);
angular.module('simple-todos').controller('TodosListCtrl', ['$scope',
function ($scope) {
$scope.tasks = [
{ text: 'This is task 1' },
{ text: 'This is task 2' },
{ text: 'This is task 3' }
];
}]);
}
简单待办事项-angular.css:
/* CSS declarations go here */
body {
font-family: sans-serif;
background-color: #315481;
background-image: linear-gradient(to bottom, #315481, #918e82 100%);
background-attachment: fixed;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
padding: 0;
margin: 0;
font-size: 14px;
}
.container {
max-width: 600px;
margin: 0 auto;
min-height: 100%;
background: white;
}
header {
background: #d2edf4;
background-image: linear-gradient(to bottom, #d0edf5, #e1e5f0 100%);
padding: 20px 15px 15px 15px;
position: relative;
}
#login-buttons {
display: block;
}
h1 {
font-size: 1.5em;
margin: 0;
margin-bottom: 10px;
display: inline-block;
margin-right: 1em;
}
form {
margin-top: 10px;
margin-bottom: -10px;
position: relative;
}
.new-task input {
box-sizing: border-box;
padding: 10px 0;
background: transparent;
border: none;
width: 100%;
padding-right: 80px;
font-size: 1em;
}
.new-task input:focus{
outline: 0;
}
ul {
margin: 0;
padding: 0;
background: white;
}
.delete {
float: right;
font-weight: bold;
background: none;
font-size: 1em;
border: none;
position: relative;
}
li {
position: relative;
list-style: none;
padding: 15px;
border-bottom: #eee solid 1px;
}
li .text {
margin-left: 10px;
}
li.checked {
color: #888;
}
li.checked .text {
text-decoration: line-through;
}
li.private {
background: #eee;
border-color: #ddd;
}
header .hide-completed {
float: right;
}
.toggle-private {
margin-left: 5px;
}
@media (max-width: 600px) {
li {
padding: 12px 15px;
}
.search {
width: 150px;
clear: both;
}
.new-task input {
padding-bottom: 5px;
}
}
/* CSS declarations go here */
我怀疑您错过了页面顶部的步骤 - 添加 urigo:angular
包。 运行 来自终端的以下内容(在你的流星项目目录中):
meteor add angular
(编辑:之前是 meteor add urigo:angular
但正如评论中所述,该软件包现在已被弃用)。
没有它,Meteor 会尝试像正常 html 文件一样解析 *.ng.html。它失败了,因为它找不到以下之一:
<head>
<body>
<template name="X">
完成 meteor-angular tutorial, at step 2 我创建了 angular 模板 todos-list.ng.html
:
<div class="container">
<header>
<h1>Todo List</h1>
</header>
<ul ng-repeat="task in tasks">
<li>{{task.text}}</li>
</ul>
</div>
并得到这个结果
=> Errors prevented startup:
While building the application:
todos-list.ng.html:1: bad formatting in HTML template
=> Your application has errors. Waiting for file change.
由于这是复制粘贴,所以我很困惑。我看不出有什么可以解释的,还有其他人有什么想法吗?
更新
这是其他文件。前面的子步骤有效,如果有帮助的话。我确信这很愚蠢,但我确实看不出是什么,
简单待办事项-angular.html:
<head>
<title>Charlie's Todo List with Angular.js</title>
</head>
<body ng-app="simple-todos"
ng-include="'todos-list.ng.html'"
ng-controller="TodosListCtrl">
</body>
简单待办事项-angular.js:
if (Meteor.isClient) {
// This code only runs on the client
angular.module('simple-todos',['angular-meteor']);
angular.module('simple-todos').controller('TodosListCtrl', ['$scope',
function ($scope) {
$scope.tasks = [
{ text: 'This is task 1' },
{ text: 'This is task 2' },
{ text: 'This is task 3' }
];
}]);
}
简单待办事项-angular.css:
/* CSS declarations go here */
body {
font-family: sans-serif;
background-color: #315481;
background-image: linear-gradient(to bottom, #315481, #918e82 100%);
background-attachment: fixed;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
padding: 0;
margin: 0;
font-size: 14px;
}
.container {
max-width: 600px;
margin: 0 auto;
min-height: 100%;
background: white;
}
header {
background: #d2edf4;
background-image: linear-gradient(to bottom, #d0edf5, #e1e5f0 100%);
padding: 20px 15px 15px 15px;
position: relative;
}
#login-buttons {
display: block;
}
h1 {
font-size: 1.5em;
margin: 0;
margin-bottom: 10px;
display: inline-block;
margin-right: 1em;
}
form {
margin-top: 10px;
margin-bottom: -10px;
position: relative;
}
.new-task input {
box-sizing: border-box;
padding: 10px 0;
background: transparent;
border: none;
width: 100%;
padding-right: 80px;
font-size: 1em;
}
.new-task input:focus{
outline: 0;
}
ul {
margin: 0;
padding: 0;
background: white;
}
.delete {
float: right;
font-weight: bold;
background: none;
font-size: 1em;
border: none;
position: relative;
}
li {
position: relative;
list-style: none;
padding: 15px;
border-bottom: #eee solid 1px;
}
li .text {
margin-left: 10px;
}
li.checked {
color: #888;
}
li.checked .text {
text-decoration: line-through;
}
li.private {
background: #eee;
border-color: #ddd;
}
header .hide-completed {
float: right;
}
.toggle-private {
margin-left: 5px;
}
@media (max-width: 600px) {
li {
padding: 12px 15px;
}
.search {
width: 150px;
clear: both;
}
.new-task input {
padding-bottom: 5px;
}
}
/* CSS declarations go here */
我怀疑您错过了页面顶部的步骤 - 添加 urigo:angular
包。 运行 来自终端的以下内容(在你的流星项目目录中):
meteor add angular
(编辑:之前是 meteor add urigo:angular
但正如评论中所述,该软件包现在已被弃用)。
没有它,Meteor 会尝试像正常 html 文件一样解析 *.ng.html。它失败了,因为它找不到以下之一:
<head>
<body>
<template name="X">