我需要创建一个可以处理不同模板的Web应用程序(相同的类但具有附加字段/功能)。我使用AngularJS。
对于所有css方面,我使用SASS。 对于HTML部分,我使用ng-include of AngularJS。 但我不知道JS部分应该使用什么。我可以为每个模板提供相同的js文件,但是如果有更改,我需要更改所有文件。我所寻找的是一个框架/工具,它允许我有一个基本的js文件并加载来自其他文件的额外内容(如AngularJS中的ng-include)。
提前致谢
答案 0 :(得分:1)
我认为您正在寻找ngRoute
或ui-router
。它们是允许您在应用程序中创建路径的组件。这意味着您可以定义一个包含HTML文件和Controller关联的路由。
看一下两者的文档。
这是使用ngRoute:https://jsfiddle.net/relferreira/t36xa01c/
的示例HTML:
<div data-ng-app="app">
<ul class="nav navbar-nav" id="subject">
<li><a href="#/">Main</a></li>
<li><a href="#/detail">Detail</a></li>
</ul>
<div ng-view></div>
</div>
<强> JS:强>
angular.module('app', ['ngRoute']);
angular.module('app')
.config(config)
.controller('MainController', mainController)
.controller('DetailController', detailController);
config.$inject = ['$routeProvider'];
function config($routeProvider){
$routeProvider.when('/',{
template:'<h1>{{mainVm.title}}</h1>',
controller: 'MainController as mainVm'
})
.when('/detail',{
template:'<h1>{{detailVm.title}}</h1>',
controller: 'DetailController as detailVm'
})
.otherwise({
redirectTo:"/"
});
}
mainController.$inject = ['$scope'];
function mainController($scope){
var vm = this;
vm.title = 'Main'
}
detailController.$inject = ['$scope'];
function detailController($scope){
var vm = this;
vm.title = 'Detail'
}