我正在使用JQuery Mobile
和AngularJs
制作移动应用程序
我目前正在使用单页结构,这是我的样本
<body ng-app="myApp">
<div data-role="page" id="foodscreen" ng-controller="foodModule">
<div data-role="header" data-position="fixed"></div>
<div data-role="content"></div>
<div data-role="footer" data-position="fixed" class="footer_include"></div>
</div>
<div data-role="page" id="addfood" ng-controller="foodModule">
<div data-role="header" data-position="fixed"></div>
<div data-role="content"></div>
<div data-role="footer" data-position="fixed" class="footer_include"></div>
</div>
<div data-role="page" id="foodLogDetail" ng-controller="foodModule">
<div data-role="header" data-position="fixed"></div>
<div data-role="content"></div>
<div data-role="footer" data-position="fixed" class="footer_include"></div>
</div>
<!-- Exercise Module -->
<div data-role="page" id="exercisescreen" ng-controller="exerciseModule">
<div data-role="header" data-position="fixed"></div>
<div data-role="content"></div>
<div data-role="footer" data-position="fixed" class="footer_include"></div>
</div>
<div data-role="page" id="addexercise" ng-controller="exerciseModule">
<div data-role="header" data-position="fixed"></div>
<div data-role="content"></div>
<div data-role="footer" data-position="fixed" class="footer_include"></div>
</div>
<div data-role="page" id="exerciseLogDetail" ng-controller="exerciseModule">
<div data-role="header" data-position="fixed"></div>
<div data-role="content"></div>
<div data-role="footer" data-position="fixed" class="footer_include"></div>
</div>
</body>
我的前3页需要Controller
名为foodModule
而其他3页需要exerciseModule
但是通过这样做我遇到的问题是我的控制器功能调用了3次,如果我只写1页面其他页面不起作用
我可以使用任何解决方案来避免这个问题吗?
更新
以下是我的应用的demo
答案 0 :(得分:0)
将每个控制器组包裹在专用的[div]元素中,并仅将每个控制器连接一次:
<body ng-app="myApp">
<div ng-controller="foodModule">
<div data-role="page" id="foodscreen">
<div data-role="header" data-position="fixed"></div>
<div data-role="content"></div>
<div data-role="footer" data-position="fixed" class="footer_include"></div>
</div>
<div data-role="page" id="addfood">
<div data-role="header" data-position="fixed"></div>
<div data-role="content"></div>
<div data-role="footer" data-position="fixed" class="footer_include"></div>
</div>
<div data-role="page" id="foodLogDetail">
<div data-role="header" data-position="fixed"></div>
<div data-role="content"></div>
<div data-role="footer" data-position="fixed" class="footer_include"></div>
</div>
</div>
<!-- Exercise Module -->
<div ng-controller="exerciseModule">
<div data-role="page" id="exercisescreen">
<div data-role="header" data-position="fixed"></div>
<div data-role="content"></div>
<div data-role="footer" data-position="fixed" class="footer_include"></div>
</div>
<div data-role="page" id="addexercise">
<div data-role="header" data-position="fixed"></div>
<div data-role="content"></div>
<div data-role="footer" data-position="fixed" class="footer_include"></div>
</div>
<div data-role="page" id="exerciseLogDetail">
<div data-role="header" data-position="fixed"></div>
<div data-role="content"></div>
<div data-role="footer" data-position="fixed" class="footer_include"></div>
</div>
</div>
</body>