首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >组件设计中的模板不加载

组件设计中的模板不加载
EN

Stack Overflow用户
提问于 2016-07-07 20:52:34
回答 2查看 2.9K关注 0票数 4

我试着做一个单一的页面应用程序,同时使用组件,因为我的公司将转向使用组件在未来,我试图遵循角-语音教程。我遇到的问题是,由于某些原因,在我的app.config.js文件中,主页的模板没有被识别(主页部分),我也不知道为什么。如果我用一个简单的'hello‘字符串来替换它,它就会显示得很好,所以它必须在我的组件中的某个位置,但是我无法找到它为什么不识别它。

相关守则:

app.config.js:

代码语言:javascript
复制
angular.
module('newSpa').
config(['$locationProvider', '$routeProvider',
    function config($locationProvider, $routeProvider){
        $locationProvider.hashPrefix('!');

        $routeProvider.
            when('/home',{
            template: '<home-page></home-page>'
        }).
            when('/contacts', {
            template:'<contacts></contacts>'
        }).
            otherwise('/home');
    }]);

app.module.js:

代码语言:javascript
复制
angular.module('newSpa', [
'ngRoute',
'homePage',
'contacts'

]);

home-page.template.html:

代码语言:javascript
复制
<div>
    <p>{{message}}</p>
</div>

home-page.module.js:

代码语言:javascript
复制
angular.module('homePage', []);

home-page.component.js:

代码语言:javascript
复制
angular.module('homePage').component('homePage', {
templateUrl: 'home-page/home-page.template.html',
controller: 'homeCtrl'

});

controllers.js:

代码语言:javascript
复制
angular.module('homePage', []).controller('homeCtrl', ['$scope', function($scope){
$scope.message = 'hello';
}]);

index.html:

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en" ng-app="newSpa">
<head>
    <meta charset="UTF-8">
    <title>SPA Contacts</title>
    <script src="bower_components/angular/angular.js"></script>
    <script src="bower_components/angular-route/angular-route.js"></script>
    <script src="app.module.js"></script>
    <script src="app.config.js"></script>
    <script src="home-page/home.module.js"></script>
    <script src="home-page/home.component.js"></script>
    <script src="contacts/contacts.module.js"></script>
    <script src="contacts/contacts.component.js"></script>
    <script src="controllers/controllers.js"></script>
</head>
<body>

<div ng-view></div>

</body>
</html>

我的app.config.js文件位于根目录"app“中,我的主文件都在"/app/ home -page”目录中。连接到角-电话:03

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-08 13:15:07

所以我以前的解决方案仍然是错误的。真正的解决方案是,我的控制器重新定义了'home‘模块,因为我有方括号。这是旧的控制器:

代码语言:javascript
复制
angular.module('homePage', []).controller('homeCtrl', ['$scope', function($scope){
$scope.message = 'hello';
}]);

因此,正如您所看到的,当我在模块定义中有方括号时,我将重新定义模块,从而覆盖模块的所有先前定义。当我去掉这些括号时:

代码语言:javascript
复制
angular.module('homePage').controller('homeCtrl', ['$scope', function($scope){
$scope.message = 'hello';
}]);

一切都表现得很好。所以问题是,我只是用控制器制作了一个新模块,所以它没有模板可以推送到视图以进行更新。

票数 1
EN

Stack Overflow用户

发布于 2016-07-07 22:05:18

您似乎已经将组件命名为“home”,但在模板中使用的是“主页”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38255058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档