Angularjs 定义一个控制器并使用两次
我想为两个分开的div使用一个控制器,当我这样做时,它会发送两次$http请求 如何使用其他控制器的作用域? 这是我的密码:Angularjs 定义一个控制器并使用两次,angularjs,angularjs-controller,Angularjs,Angularjs Controller,我想为两个分开的div使用一个控制器,当我这样做时,它会发送两次$http请求 如何使用其他控制器的作用域? 这是我的密码: <div data-ng-controller="productCTRL"> <span ng-model="basket | count"></span> ....Some HTML Code...... </div>
<div data-ng-controller="productCTRL">
<span ng-model="basket | count"></span>
....Some HTML Code......
</div>
<div data-ng-controller="AuthController">
....Some HTML Code...
</div>
<div data-ng-controller="productCTRL">
<ul ng-repeat="product in products">
<li>{{product.title}}</li>
</ul>
</div>
…一些HTML代码。。。。。。
…一些HTML代码。。。
- {{product.title}}
看起来您想访问其他控制器的作用域-
三种是沟通方式-
一种方法… 您可以使用单片控制器:
<div data-ng-controller="mainCTRL">
<div data-ng-controller="productCTRL">
<span ng-model="basket | count"></span>
....Some HTML Code......
</div>
<div data-ng-controller="AuthController">
....Some HTML Code...
</div>
<div data-ng-controller="productCTRL">
<ul ng-repeat="product in products">
<li>{{product.title}}</li>
</ul>
</div>
</div>
如果将工厂注入到productCTRL
中,它将直接访问产品
数据:
appController("productCTRL", function(productService){
$scope.products = productService.products;
});
控制器仍将实例化两次,但它只会重新分配
$scope.products
变量。最重要的是,它不再通过HTTP对您的API进行冗余调用。您的问题不清楚,您是否在某个事件上调用控制器的函数?我说得更清楚了,您仍然不清楚您在问什么。
appController("productCTRL", function(productService){
$scope.products = productService.products;
});