2017-01-16 61 views
0

Im使用Browserify进行捆绑和Angularjs框架。这种情况的出现,我有具有被定义为指令中Angularjs组件 -当需要角度分量时找不到相对路径

var loginDirective = /*@ngInject*/ function(){ 
    return{ 
    templateUrl:'views/login/templates/loginComponent.html', 
    link:function(scope,ele,attr){ 
    } 
    } 
}; 

这工作完全当我单独使用browserify运行的组件。现在我有一个项目“MyAPP”,我使用NPM安装来获取这个组件在我的项目的node_modules文件夹中。 然后我需要这个及部件,包括做DI在这样

var angular = require('angular'); 
require ('baseComponent'); 

module.exports = angular.module('mainComponent',['baseComponent']) 

的DI工作正常的项目,但我得到一个错误说'views/login/templates/loginComponent.html'找不到该成分导致它开始在我的项目搜索view文件夹而不是自己的view文件夹。

如何解决此问题?

回答

0

我认为常用的方法是将模板放入您的JavaScript代码并手动将其加载到模板缓存中。就像这样:

angular.module('mainComponent').run(function($templateCache) { 
    var template = '<h1> LoginComponent </h1>'; 
    $templateCache.put('loginComponent.html' , template); 
}); 

而在该指令的templateUrl应该是这样的:

var loginDirective = /*@ngInject*/ function(){ 
    return{ 
     templateUrl: 'loginComponent.html', 
     link: function(scope,ele,attr){ 
     } 
    } 
}; 

您可以像用户界面,引导,UI电网例如很多开源库看到这

+0

是的,这终究是我最终做的,谢谢 –