我可以在Angular中为两个组件使用相同的html

时间:2017-01-23 01:16:19

标签: angularjs controller components

我有一个有趣的困境,我写了一个项目,一度有两个控制器和两个模板

.state('resources',
    {
        url: '/resources',
        controller: 'resourcesController',
        controllerAs: 'resourcesController',
        templateUrl: '/app/pages/resources/resources.view.html',
     })
.state('packages',
    {
        url: '/packages',
        controller: 'packagesController',
        controllerAs: 'packagesController',
        templateUrl: '/app/pages/packages/packages.view.html',
     })

一段时间后,很明显packages.view.html和resources.view.html几乎完全相同,而且我花了一大块时间在两者之间复制粘贴..

控制器完全不同,当然在resources.view.html中,我指的是:

<button ng-click="resourcesController.fireButton()">Click me</button>

并在packages.view.html

<button ng-click="packagesController.fireButton()">Click me</button>

现在,之前,回到良好的角色1.3,我已经在每个控制器中使用了$ scope,并且可以声明相同的html ..但是现在呢?它甚至可能吗?

我问,因为我要包含第三个控制器/模板,并希望避免编写和更改三个模板。

P.S。我想我可以,如果我有预算/小时/时间,重构为子组件并将所有数据传递给它,以便 不< / em> 将成为有效的答案。 (但如果唯一的解决方案需要更多的时间,那么我会把它呈现给我的经理)

0 个答案:

没有答案