我有一个Angular SPA,其中工作正常,但业务要求我从这个link-group.html(它有自己的控制器,模块等)移动代码。
带有放入模板的代码的URL或将代码放在其他html代码supervisors.html下面的
我需要移动的link-group.html中的新闻网址:
http://localhost:1337/doc-home/#/tips/2?paginatePage=1
文件:
link-group.html
位置:
然后我需要显示的位置(移动到)
URL:
http://localhost:1337/doc-home/#/supervisors
文件:
supervisors.html
位置:
模板? 控制器参考?
更新
我想从link.group.html获取所有代码并将其移至supervisor.html页面
但是,有一些特定的代码指的是基于URL的控制器/模块/数据库
<div class="links-group" ng-repeat="group in groups" ng-show="!group.hidden">
<div ng-show="!edit" style="margin: 5px 0;">
<h3>{{ group.title }}</h3>
<div ng-show="edit === true">
<input style="margin: 5px 0" placeholder="title..." class="input" ng-model="group.title" />
根据OP的建议更新2
supervisor.html的当前controller.js
angular.module('supervisors')
.controller('SupervisorsCtrl',
function ($scope, UserService) {
UserService.get(function (err, user) {
$scope.user = user;
});
});
所以为了修改我可以在它下面添加另一个模块吗?
angular.module('supervisors')
.controller('SupervisorsCtrl',
function ($scope, UserService) {
UserService.get(function (err, user) {
$scope.user = user;
});
});
angular.module('linkgroup', ['ng'])
.directive('linkgroup', function({{ dependencies of your controller here }}) {
return {
templateUrl: {{ url of the template, likely link-group.html }},
link: function($scope, $element, $attributes) {
// think of this as the controller of a directive
{{ code of your controller,
replace `this` with `$scope` if you used ControllerAs }}
}
};
});
看来common文件夹中没有module.js,有一个directives.js和controller.js 但是我看到链接文件夹中有这个代码
angular.module('links')
.controller('LinksCtrl', function ($scope, LinksService, SearchService, UserService, notify, $window, $location) {
$scope.message = "";
UserService.get(function (err, user) {
if (err) {
notify.error('Error getting current user.');
} else {
if (user.groups.WEB_ESO !== true) {
$location.path('/');
}
}
});
答案 0 :(得分:0)
听起来你可以使用包含link-group
的{{3}}。转换非常简单(如果你在控制器中使用$scope
,它几乎是直接复制+粘贴):
angular.module('linkgroup', ['ng'])
.directive('linkgroup', function({{ dependencies of your controller here }}) {
return {
templateUrl: {{ url of the template, likely link-group.html }},
link: function($scope, $element, $attributes) {
// think of this as the controller of a directive
{{ code of your controller,
replace `this` with `$scope` if you used ControllerAs }}
}
};
});
然后在supervisors.html
底部添加<linkgroup></linkgroup>
。