Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在html页面之间共享数据-angularJs_Html_Angularjs - Fatal编程技术网

在html页面之间共享数据-angularJs

在html页面之间共享数据-angularJs,html,angularjs,Html,Angularjs,html有一个对象列表,当用户单击一个对象时,网站应该导航到另一个页面并显示对象的详细信息 1.HTML页面是一个表,每一行都是对象: <tr ng-repeat="abjcet in nc.object"> <td>{{object.title}}</td> </tr> 如果您的HTML应用程序完全是一个单页应用程序,则将$rootScope添加到myController.$inject,然后将其保存在$root

html有一个对象列表,当用户单击一个对象时,网站应该导航到另一个页面并显示对象的详细信息

1.HTML页面是一个表,每一行都是对象:

<tr ng-repeat="abjcet in nc.object">
           <td>{{object.title}}</td>
     </tr>

如果您的HTML应用程序
完全是一个单页应用程序
,则将
$rootScope
添加到
myController.$inject
,然后将其保存在
$rootScope
中,可以跨多个页面访问

相反,如果您有一个由两个控制器在不同页面上使用的
服务
,请在
服务
中为该变量实现
getter和setters


希望它能帮助你

如果您的HTML应用程序
完全是一个单页应用程序
,则将
$rootScope
添加到
myController.$inject
,然后将其保存在可跨多个页面访问的
$rootScope

相反,如果您有一个由两个控制器在不同页面上使用的
服务
,请在
服务
中为该变量实现
getter和setters


希望它能帮助你

如果需要导航到另一个页面,可以使用localStorage,或者使用SPA(单页应用程序)和跨所有控制器共享数据的服务

// Save the title
localStorage.setItem('title', $scope.title);
// Retrieve the title
$scope.title = localStorage.getItem('title');

如果需要导航到另一个页面,可以使用localStorage,或者使用SPA(单页应用程序)和跨所有控制器共享数据的服务

// Save the title
localStorage.setItem('title', $scope.title);
// Retrieve the title
$scope.title = localStorage.getItem('title');
多种解决方案

  • 使用本地存储,您可以维护该数据并将其保存在多个页面上,这是最安全、最简单的方法。这里有很多现成的模块,而且做得很好:
  • 例如:

    myApp.controller('MainCtrl', function($scope, localStorageService) {
        // setter
        localStorageService.set('title', 'value');
        // getter
        var title = localStorageService.get('title');
    });
    
    //factory
    myApp.factory('Data', function() {
        var data = {};
        return {
            get :get,
            set : set
        };
        // setter
        function set(key, val){
            data[key] = val;
        }
        // getter
        function get(key) {
            return data[key] || null;
        }
    });
    
    myApp.controller('MainCtrl', function(Data) {
        // setter
        Data.set('title', 'value');
        // getter
        var title = Data.get('title');
    });
    
  • 您可以使用路由通过SPA(单页应用程序)维护数据,这将阻止浏览器实际重新加载页面,并允许用户仅请求下一个视图/页面。这意味着您可以将数据保存在工厂内,例如,数据将保存在内部内存中
  • 例如:

    myApp.controller('MainCtrl', function($scope, localStorageService) {
        // setter
        localStorageService.set('title', 'value');
        // getter
        var title = localStorageService.get('title');
    });
    
    //factory
    myApp.factory('Data', function() {
        var data = {};
        return {
            get :get,
            set : set
        };
        // setter
        function set(key, val){
            data[key] = val;
        }
        // getter
        function get(key) {
            return data[key] || null;
        }
    });
    
    myApp.controller('MainCtrl', function(Data) {
        // setter
        Data.set('title', 'value');
        // getter
        var title = Data.get('title');
    });
    
    多种解决方案

  • 使用本地存储,您可以维护该数据并将其保存在多个页面上,这是最安全、最简单的方法。这里有很多现成的模块,而且做得很好:
  • 例如:

    myApp.controller('MainCtrl', function($scope, localStorageService) {
        // setter
        localStorageService.set('title', 'value');
        // getter
        var title = localStorageService.get('title');
    });
    
    //factory
    myApp.factory('Data', function() {
        var data = {};
        return {
            get :get,
            set : set
        };
        // setter
        function set(key, val){
            data[key] = val;
        }
        // getter
        function get(key) {
            return data[key] || null;
        }
    });
    
    myApp.controller('MainCtrl', function(Data) {
        // setter
        Data.set('title', 'value');
        // getter
        var title = Data.get('title');
    });
    
  • 您可以使用路由通过SPA(单页应用程序)维护数据,这将阻止浏览器实际重新加载页面,并允许用户仅请求下一个视图/页面。这意味着您可以将数据保存在工厂内,例如,数据将保存在内部内存中
  • 例如:

    myApp.controller('MainCtrl', function($scope, localStorageService) {
        // setter
        localStorageService.set('title', 'value');
        // getter
        var title = localStorageService.get('title');
    });
    
    //factory
    myApp.factory('Data', function() {
        var data = {};
        return {
            get :get,
            set : set
        };
        // setter
        function set(key, val){
            data[key] = val;
        }
        // getter
        function get(key) {
            return data[key] || null;
        }
    });
    
    myApp.controller('MainCtrl', function(Data) {
        // setter
        Data.set('title', 'value');
        // getter
        var title = Data.get('title');
    });
    

    这不是角度的方式,他们实际上建议您永远不要使用
    $rootScope
    来维护任何类型的状态。事件是唯一应该使用的
    $rootScope
    。这不是角度的方式,它们实际上建议您永远不要使用
    $rootScope
    来维护任何类型的状态。事件是唯一应该使用的
    $rootScope