【问题标题】:Error: [$parse:syntax] and home.html 404 (Not Found)错误:[$parse:syntax] 和 home.html 404(未找到)
【发布时间】:2016-04-03 12:55:59
【问题描述】:

我今天开始关注 tutorial 到 AngularJs,但实现了一些稍微不同的东西,现在我被卡住了,似乎 Angular 无法识别内联模板“home”。

P.S:要在 chrome 上本地运行,我必须安装一个网络服务器。

angular.module('little_tweet', ['ui.router'])
.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {
	$stateProvider
	.state('home', {
		url: '/home',
		templateUrl: '/home.html',
		controller: 'MainCtrl'
	})
	.state('posts', {
  	url: '/posts/{id}',
  	templateUrl: '/posts.html',
  	controller: 'PostsCtrl'
	});

	$urlRouterProvider.otherwise('home');

}])
.factory('posts', [function() {
	var o = { posts: []};
	return o;
}])
.controller('MainCtrl', ['$scope', 'posts', function($scope, posts){
	 $scope.posts = posts.posts;
	 
	 $scope.current_user = 'me';
   
   $scope.addPost = function() {
   	if(!$scope.message || $scope.message === '') { return; }
    
    $scope.posts.push({
    	user: $scope.current_user,
    	message: $scope.message, 
    	time: new Date()
    });

		$scope.message = '';
	};
}])
.controller('PostsCtrl', ['$scope', '$stateParams', 'posts', function($scope, $stateParams, posts) {
	$scope.post = posts.posts[$stateParams.id];
}]);
<html>
<head>
  <title>Little Tweet</title>
  <link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet">
  <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.19/angular.min.js"></script>
  <script src="http://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/0.2.10/angular-ui-router.js"></script>
  <script src="app.js"></script>
  <style> .glyphicon-thumbs-up { cursor:pointer } </style>
</head>
<body ng-app="little_tweet">
  <div class="row">
    <div class="col-md-6 col-md-offset-3">
			
			<ui-view></ui-view>
      
      <div class="page-header">
        <h1>Little Tweet</h1>
      </div>

      <div ng-repeat="post in posts">
        <span style="font-size:20px; margin-left:10px;">
          {{{post.user}}: {{post.message}} at {{post.time}}
        </span>
      </div>

      <form ng-submit="addPost()"
        style="margin-top:30px;">
        <h3>Add a new post</h3>

        <div class="form-group">
          <input type="text"
            class="form-control"
            placeholder="Message"
            ng-model="message"></input>
        </div>
        <button type="submit" class="btn btn-primary">Post</button>
      </form>

    </div>
  </div>
	<script type="text/ng-template" id="/home.html">
	  <div class="page-header">
	    <h1>Little tweet</h1>
	  </div>

	  <!-- rest of template -->
	</script>  
</body>
</html>

【问题讨论】:

    标签: angularjs


    【解决方案1】:

    从路由中的模板 url 中删除 /

    编辑{{{post.user}}: {{post.message}} at {{post.time}} 中有一个额外的{

    【讨论】:

    • 额外解释为什么这个工作会改善你的答案。
    • templateUrl: '/home.html', 现在是 templateUrl: 'home.html', 仍然给我同样的错误,我也尝试更改
    • 现在不报错了,提交的时候也不加帖子,有什么线索吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-03
    • 2015-09-19
    • 2013-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多