0

我有一个 Angular SPA,除了业务希望我从这个 link-group.html 移动代码(它有自己的控制器、模块等)之外,它工作正常

带有要放入模板中的代码或将代码放在其他 html 代码 supervisors.html 下方的 URL

我需要移动的 link-group.html 中新闻的 URL:

http://localhost:1337/doc-home/#/tips/2?paginatePage=1

文件:

link-group.html

地点:

在此处输入图像描述

然后我需要显示的位置(移动到)

网址:

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 }}
    }
 };
});

似乎公共文件夹中没有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('/');
        }
    }
}); 
4

1 回答 1

0

听起来您可以使用包含您的link-group. 转换非常简单(如果您$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>

于 2015-08-28T21:08:44.710 回答