[英]AngularJS create controller only one time
我研究了一次只能创建控制器的方法,但是没有找到任何真正好的解决方案。
A仅找到了一些解决方法 :
因此,如果加载了模板,则必须使用特殊的myService来聚合控制器,服务也必须进行检查。 如果已经创建控制器,则应加载旧控制器,而不是新控制器,否则将刚创建的控制器添加到控制器集合中。
算法似乎很简单,但是与angular一起使用很难看。 我希望我对角度的了解很弱,这就是为什么我找不到更好的解决方案的原因。
您能否提出更好的主意或解决方案! 可能我需要重新设计基础库中已经实现的某些东西或服务...
添加更多说明:
ng-app=singleApplication
|-ng-view
SingleApplication具有ng-route来管理ng-view的模板。 每个模板都有一个唯一的控制器 。 每当与当前视图不同时,我都会看到控制器的创建。 但是我不需要向服务器询问数据,如果模板已加载一次。 我需要显示带有旧数据,表,控件的模板,但是如果控制器每次都在创建,则无法显示。 所有数据都加载到controller-scope ( this )中,所有键在controller-scope中都是唯一的,但是如果我将数据保存到$ scope或$ rootScope ,我没有很好的保证。
如果所有控制器都在一个模块下创建,那么我们可以使用该模块进行控制器
请在下面找到示例
var app = angular.module('app', []);
app.controller('TextController', function ($scope) {
$scope.text = {
message: 'Welcome!!'
};
});
app.controller('ItemController', function ($scope) {
$scope.items = [{
title: 'Pencil',
quantity: 8,
price: 4.2
}, {
title: 'Pen',
quantity: 2,
price: 5.2
}, {
title: 'Watch',
quantity: 3,
price: 10.2
}];
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.