gpt4 book ai didi

javascript - 如何将一个作用域中定义的函数添加到另一个作用域中而不重复?

转载 作者:行者123 更新时间:2023-12-03 11:34:22 25 4
gpt4 key购买 nike

我有 2 个 Controller 1)controller1 2)controller2

HTML 代码类似于

<div>
<div>
All time Visible
<input ng-change=callAMethodInController1()>
</div>
<div ng-show=toShowTab1Div id="tab_2_div">tab1</div>
<div id="tab_2_div" ng-show=toShowTab2Div class="PR1 PL1 PT2">
<div ng-include="'../style/taxation.html'"></div>
</div>
</div>

整个 html 文件是taxPare.html。

RouteProvider 就像

$routeProvider
.when('/', {
templateUrl: '../jspfolder/payroll/taxPare.html',
controller: 'controller1 '
})
.when('/taxCalc', {
templateUrl: '../jspfolder/payroll/taxPare.html',
controller: 'controller2'
})

到目前为止,我完全能够混合两个 Controller 的代码。但也存在一些问题。

1)我有一部分代码包含在两个 Controller 中。2)有些方法专门写在controller1中。

但是当我在controller2上时,我在公共(public)部分做了一些更改,显然没有任何反应,因为 $scope.methodOfController1 不可访问,

这个问题的解决办法?

除此之外,还可以将一个js文件添加到另一个js文件中间。这就像将一个js文件复制到另一个js文件中,但不重复代码?

最佳答案

您可以将通用代码放入 Service并将其注入(inject)到每个 Controller 中

module.service('userService', function(){
this.users = ['John', 'James', 'Jake'];
});

或者工厂方法

module.factory('userService', function(){
var users = {['John', 'James', 'Jake']};
return users;
});

关于javascript - 如何将一个作用域中定义的函数添加到另一个作用域中而不重复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26585642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com