小编Sha*_*anu的帖子

使用控制器初始化角度服务的正确方法

我来自一个静态类型的面向对象背景(C#),一般来说是Angular和Javascript的新手.我正在尝试使用Angular和JQueryMobile构建一个应用程序,并且面临的情况是服务不像单例一样 - 即使它们已经在一个控制器中初始化一次,服务中的属性也不会存储它们所属的任何状态设置为传递到另一个控制器或服务时.此外,当我尝试调试下面描述的代码时,我遇到了一些意外的行为:

我的设置:

  • 我正在使用JQueryMobile单页模板,该页面模板将应用程序的所有页面作为div放在同一个html页面上,并使用"href ="#DivName"模式进行重定向
  • 应用程序的每个div(页面)都有一个关联的控制器和服务
  • 控制器根据需要注入多个服务,并且注入的服务应保持在其他控制器中初始化的状态.
  • 我没有使用路由和模板 - 整个html在一个页面中

相关代码大纲如下:

HTML:

<div data-role="page" id="PageA" data-ng-controller="PageAController">      

<!-- page content and UI elements-->    

</div>


<div data-role="page" id="PageB" data-ng-controller="PageBController">

<!-- page content and UI elements-->    

</div>
Run Code Online (Sandbox Code Playgroud)

服务:

var App = angular.module('App', []);

App.service('serviceA', function () {

    var propA;

    //objectX is an array of objects with each object containing a hashtable and some other properties 

    propA = [{},{}];  //hardcoded value for objectX gets returned properly

    return {

        initialize: function(objectX){          

            propA = objectX; …
Run Code Online (Sandbox Code Playgroud)

javascript jquery-mobile angularjs

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

angularjs ×1

javascript ×1

jquery-mobile ×1