Форум программистов, компьютерный форум, киберфорум
Наши страницы
JavaScript: Angular 2, AngularJS
Войти
Регистрация
Восстановить пароль
 
azotklas
0 / 0 / 1
Регистрация: 16.09.2014
Сообщений: 26
1

Сохранения массива

20.06.2015, 00:05. Просмотров 385. Ответов 4
Метки нет (Все метки)

Здравствуйте!
Есть такой HTML код:
Кликните здесь для просмотра всего текста
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<ul class="spisok">
<li  ng-repeat="specialty in specialtys | filter: search | orderBy:predicate:reverse">
 <a href="#21" ng-click="hide=!hide">
<div style='width:350px; display:inline-block; '>{{ specialty.name }}</div> {{ specialty.ball }} </a>  
                                
<div ng-show="hide">
<p ng-hide="editorEnabled" id="description">
{{ specialty.description }}  
<a href="" ng-click="enableEditor(specialty.id-1)"><img src="img/edit.png" style='width:9px; height:9px;'></a>
</p> 
<br/>   
                                          
 <div ng-show="editorEnabled">
<textarea cols='90px'  rows='7px' ng-model="$parent.editableTitle" ng-show="editorEnabled"></textarea>
<br>
<a href="#" ng-click="save($index)">Сохранить</a>
<a href="#" ng-click="disableEditor($index)">Отменить</a>.
                                            
</div>
<a  href={{specialty.site}} style="float:right; background-color:#234; padding:2px; color:white;" target="_blank" >Прочитать подробней</a>
</div>
</li>
</ul>

и есть такой JS код:
Кликните здесь для просмотра всего текста
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
var app = angular.module("myApp", []);
app.controller('mainController', function($scope) {
$scope.hide = false;
$scope.specialtys = [
    {
       id:1,
       name: 'Математика и информационные технологии',
      description: 'Общеизвестно, что лучшими специалистами в области разработки ' +
            'программного обеспечения являются математики, поскольку они, помимо узких специальных знаний, ' +
            'обладают аналитическим мышлением, способностью быстро обучаться и находить решения ' +
            'новых задач и проблем. Поэтому отличительной чертой специальности “Математика и информационные технологии” ' +
            'является сочетание обучения фундаментальным математическим дисциплинам и самым современным языкам ' +
            'и технологиям программирования, таким как Java, C#, С++, PHP, .NET, J2EE, XML, UML и др.',
            site: 'http://www.mmf.bsu.by/Default.aspx?tabid=439',
            ball: '317'
        },
        {
            id:2,
            name: 'Компьютерная математика и системный анализ',
            description: 'Обучаясь на специальности «Компьютерная математика и системный анализ»,' +
            ' студенты становятся специалистами-практиками в наиболее перспективной в настоящее время' +
            ' области производства – информационных технологиях и наукоёмких разработках.',
            site: 'http://www.mmf.bsu.by/Default.aspx?tabid=543',
            ball: '315'
        },
        {
            id:3,
            name: 'Научно-конструкторная деятельность  ',
            description: 'Открытие направления "Научно-конструкторская деятельность" на' +
            'механико-математическом факультет было стимулировано переходом к созданию и регулярному ' +
            'использованию во всех областях деятельности человека все более и более расширяющегося ' +
            'спектра комплексных аппаратно-программных изделий, таких как универсальные ' +
            'и специализированные компьютеры, сотовые телефоны, роботы и робототехнические системы, ' +
            'различные «умные» медицинские и бытовые приборы и т.д. С течением времени их разработка ' +
            'стала требовать наличия у конструкторов в первую очередь глубоких знаний в области математики ' +
            'и информатики.',
            site: 'http://www.mmf.bsu.by/Default.aspx?tabid=141',
            ball: '272'
        },
        {
            id:4,
            name: 'Математика. Экономическая деятельность  ',
            description: 'Основу образовательного процесса составляют фундаментальные математические курсы, ' +
            'читаемые на механико-математическом факультете. Среди них курсы математического анализа, алгебры, ' +
            'геометрии, дифференциальных уравнений, теории функций комплексного переменного, функционального анализа, ' +
            'уравнений математической физики, дискретной математики, математической логики, ' +
            'а также очень важные для подготовки математиков-экономистов курсы теории вероятностей и математической ' +
            'статистики, методов оптимизации и исследования операций. Значителен объем подготовки студентов ' +
            'в области информационных технологий и программирования.',
            site: 'http://www.mmf.bsu.by/Default.aspx?tabid=53',
            ball: '285'
        },
        {
            id:5,
            name: 'Математика. Научно-производственная деятельность',
            description: 'Научно-производственное направление готовит математиков со времени основания факультета. ' +
            'Подготовка по специальности «Математика» ведется с изучением как классических математических предметов, ' +
            'так и новейших программно-информационных технологий и сред.',
            site: 'http://www.mmf.bsu.by/Default.aspx?tabid=544',
            ball: '266'
        },
        {
            id:6,
            name: 'Математика. Научно-педагогическая деятельность',
            description: 'После его окончания Вы получаете двойную специальность: «Математик, преподаватель математики и информатики». ' +
            'Если вам нравится, вы делаете акцент на научной деятельности и идете работать как математик, ' +
            'или же вы идете работать программистом (потому что у вас есть способности, хорошее мышление, ' +
            'способность к быстрому обучению, но нет завышенных амбиций – да простят нас выпускники ФПМИ). ' +
            'Без сомнения, вы сможете найти себе работу экономиста или бухгалтера ' +
            '(если захотите, на мехмате есть возможность получить второе экономическое образование, ' +
            'но главное все-таки – сама квалификация «математик»). ' +
            'Программа обучения включает классические математические курсы, такие как: ' +
            'аналитическая геометрия, алгебра и теория чисел, математический анализ, программирование, ' +
            'дифференциальные уравнения, топология, функциональный анализ, методы оптимизации, численные методы и многие другие, ' +
            'а также предметы, связанные непосредственно с педагогической деятельностью: педагогика, психология, ' +
            'методы преподавания математики и др.',
            site: 'http://www.mmf.bsu.by/Default.aspx?tabid=545',
            ball: '245'
        },
        {
            id:7,
            name: 'Механика и математическое моделировани',
            description: 'Механико-математический факультет - единственный в нашей Республике, ' +
            'где осуществляется подготовка механиков-теоретиков с глубокой математической подготовкой.',
            site: 'http://www.mmf.bsu.by/Default.aspx?tabid=142',
            ball: '250'
        }];
   
 
    $scope.editorEnabled = false;   
 
    $scope.enableEditor = function(index) {
        $scope.editorEnabled = true;
        $scope.editableTitle = $scope.specialtys[index].description;
    };
   
    $scope.disableEditor = function(index) {
        $scope.editorEnabled = false;
    };
 
    $scope.save = function(index) {
        $scope.specialtys[index].description = $scope.editableTitle;
        $scope.disableEditor(index);
    };
    
});


как на ангуляре сделать так, что бы изменения сохранялись после обновления. сейчас изменения сохраняются, но только до обновления страницы! то есть я так понимаю изменения не прописываются в массив!
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2015, 00:05
Ответы с готовыми решениями:

Открытие массива с файла и сохранения массива в файл
Как открыть массив с файла(txt) ,например,и сохранить его. массив 2мерный

Сохранения массива в коллекцию
Подскажите, как сохранить массив чисел, как отдельное значений под индексом в коллекции ( ArrayList...

Сохранения данных массива и наоборот
Здравствуйте! Я еще начинающий программист и мне нужна ваша помощь. Переменные у меня типа &quot;char&quot;,...

Как создавать точки сохранения в unity? Чтобы если персонаж упал, то он возвращался на определенную точку сохранения
Я подключил библиотеку : using UnityEngine.SceneManagement; Далее подключил условие, если...

Передача дин массива без сохранения изменений
Мне необходимо передать динамический массив в функцию, там ее изменить, сложить, перемножить и...

4
outoftime
║XLR8║
860 / 753 / 229
Регистрация: 25.07.2009
Сообщений: 3,723
Записей в блоге: 5
20.06.2015, 08:58 2
Цитата Сообщение от azotklas Посмотреть сообщение
то есть я так понимаю изменения не прописываются в массив!
Т.е. ты не понимаешь как работает javascript. При загрузке страницы выполняется идин и тот же код, и создается один и тот же начальный массив, если его сохранять между презагрузками страницы надо использовать методы позволяющие это делать. В angular для это есть сервисы.
0
JokerNN
134 / 130 / 57
Регистрация: 29.12.2011
Сообщений: 359
21.06.2015, 02:16 3
localStorage - вот ответ. Ну а по-хорошему уже сервер нужон
0
azotklas
0 / 0 / 1
Регистрация: 16.09.2014
Сообщений: 26
21.06.2015, 20:41  [ТС] 4
JokerNN, можешь помочь? я нашел вроде как решение, но не могу подогнать под свой код
вот мой фрагмент кода
controllers.js
Кликните здесь для просмотра всего текста
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
var app = angular.module('app', ['ngRoute','$strap.directives']);
app.controller('mainController', ['$scope','$http', '$location', function($scope, $http, $location){
    var storage_id = "save_easy";
    $scope.perst_tasks = JSON.parse(localStorage.getItem(storage_id));
    if($scope.perst_tasks != null)
    {
        for(var i =0; i < $scope.perst_tasks.length; i++)
        {
            var amount = parseInt($scope.perst_tasks[i].amount);
            $scope.tasks.push($scope.perst_tasks[i]);
        }
    }
    else
    {
        $scope.perst_tasks = [];
    };
 
    
    $http.get('spec.json').success(function(data, status, headers, config){
    $scope.specialtys=data;});
    $scope.hide = false;
    $scope.editorEnabled = false;   
 
    $scope.enableEditor = function(index) {
    $scope.editorEnabled = true;
    $scope.editableTitle = $scope.specialtys[index].description;};
 
    $scope.disableEditor = function(index) {
    $scope.editorEnabled = false; };
 
    $scope.save = function(index) {
    $scope.specialtys[index].description = $scope.editableTitle;
    $scope.disableEditor(index);
    $scope.specialtys[index].description = $scope.editableTitle;};
    //шоу 
    $scope.myVar = false;
    $scope.toggle = function(){$scope.myVar=!$scope.myVar;};
    //шоу конец
    $scope.predicate = 'age';
    $scope.reverse = true;
    $scope.order = function(predicate) {
    $scope.reverse = ($scope.predicate === predicate) ? !$scope.reverse : false;
    $scope.predicate = predicate;};
}]);


index.html
Кликните здесь для просмотра всего текста
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<ul class="spisok">
  <li  ng-repeat="specialty in specialtys=(specialtys | filter: search | orderBy:predicate:reverse)">
     <a href="" ng-click="hide=!hide">
     <div style='width:350px; display:inline-block;'>{{ specialty.name }}</div> {{ specialty.ball }} </a>  
      <div ng-show="hide">
       <p ng-hide="editorEnabled" id="description">
       {{ specialty.description }}  
       <a href="" ng-click="enableEditor(specialty.id-1)"><img src="img/edit.png" style='width:9px; height:9px;'></a>
       </p> <br/>   
         <div ng-show="editorEnabled">
           <textarea cols='90px'  rows='7px' ng-model="$parent.editableTitle" ng-show="editorEnabled"></textarea><br>
           <button  ng-click="save($index)">Сохранить</button> <button  ng-click="disableEditor($index)">Отменить</button>.
          </div>
        <a  href={{specialty.site}} style="float:right; background-color:#234; padding:2px; color:white;" target="_blank" >Прочитать  подробней</a>
     </div>
   </li>
</ul>

spec.json
Кликните здесь для просмотра всего текста
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
[
        {
            "id":1,
            "name": "Математика и информационные технологии",
            "description": "Общеизвестно, что лучшими специалистами в области разработки программного обеспечения являются математики, поскольку они, помимо узких специальных знаний, обладают аналитическим мышлением, способностью быстро обучаться и находить решения новых задач и проблем. Поэтому отличительной чертой специальности “Математика и информационные технологии” является сочетание обучения фундаментальным математическим дисциплинам и самым современным языкам и технологиям программирования, таким как Java, C#, С++, PHP, .NET, J2EE, XML, UML и др.",
            "site": "http://www.mmf.bsu.by/Default.aspx?tabid=439",
            "ball": 317
        },
        {
            "id":2,
            "name": "Компьютерная математика и системный анализ",
            "description": "Обучаясь на специальности «Компьютерная математика и системный анализ»,студенты становятся специалистами-практиками в наиболее перспективной в настоящее время области производства – информационных технологиях и наукоёмких разработках.",
            "site": "http://www.mmf.bsu.by/Default.aspx?tabid=543",
            "ball": 315
        },
        {
            "id":3,
            "name": "Научно-конструкторная деятельность"  ,
            "description": "Открытие направления 'Научно-конструкторская деятельность' на механико-математическом факультет было стимулировано переходом к созданию и регулярному использованию во всех областях деятельности человека все более и более расширяющегося спектра комплексных аппаратно-программных изделий, таких как универсальные и специализированные компьютеры, сотовые телефоны, роботы и робототехнические системы, различные «умные» медицинские и бытовые приборы и т.д. С течением времени их разработка стала требовать наличия у конструкторов в первую очередь глубоких знаний в области математики и информатики.",
            "site": "http://www.mmf.bsu.by/Default.aspx?tabid=141",
            "ball": 272
        },
        {
            "id":4,
            "name": "Математика. Экономическая деятельность"  ,
            "description": "Основу образовательного процесса составляют фундаментальные математические курсы,читаемые на механико-математическом факультете. Среди них курсы математического анализа, алгебры, геометрии, дифференциальных уравнений, теории функций комплексного переменного, функционального анализа, уравнений математической физики, дискретной математики, математической логики, а также очень важные для подготовки математиков-экономистов курсы теории вероятностей и математической статистики, методов оптимизации и исследования операций. Значителен объем подготовки студентов в области информационных технологий и программирования.",
            "site": "http://www.mmf.bsu.by/Default.aspx?tabid=53",
            "ball": 285
        },
        {
            "id":5,
            "name": "Математика. Научно-производственная деятельность",
            "description": "Научно-производственное направление готовит математиков со времени основания факультета. Подготовка по специальности «Математика» ведется с изучением как классических математических предметов, так и новейших программно-информационных технологий и сред.",
            "site": "http://www.mmf.bsu.by/Default.aspx?tabid=544",
            "ball": 266
        },
        {
            "id":6,
            "name": "Математика. Научно-педагогическая деятельность",
            "description": "После его окончания Вы получаете двойную специальность: «Математик, преподаватель математики и информатики». Если вам нравится, вы делаете акцент на научной деятельности и идете работать как математик, или же вы идете работать программистом (потому что у вас есть способности, хорошее мышлениспособность к быстрому обучению, но нет завышенных амбиций – да простят нас выпускники ФПМИ). Без сомнения, вы сможете найти себе работу экономиста или бухгалтера (если захотите, на мехмате есть возможность получить второе экономическое образование, но главное все-таки – сама квалификация «математик»).Программа обучения включает классические математические курсы, такие как: аналитическая геометрия, алгебра и теория чисел, математический анализ, программирование, дифференциальные уравнения, топология, функциональный анализ, методы оптимизации, численные методы и многие другие, а также предметы, связанные непосредственно с педагогической деятельностью: педагогика, психология, методы преподавания математики и др.",
            "site": "http://www.mmf.bsu.by/Default.aspx?tabid=545",
            "ball": 245
        },
        {
            "id":7,
            "name": "Механика и математическое моделировани",
            "description": "Механико-математический факультет - единственный в нашей Республике,где осуществляется подготовка механиков-теоретиков с глубокой математической подготовкой.",
            "site": "http://www.mmf.bsu.by/Default.aspx?tabid=142",
            "ball": 250
        }
]


А вот то что я нашел , я проверил, после обновления все сохраняется
index.html
Кликните здесь для просмотра всего текста
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<body ng-controller="FormCtrl">         
<form role="form" ng-submit="submit()">
Description: <input class="form-control" type="text" ng-model="description" placeholder="Description" /><br />
<button type="submit" class="btn btn-block btn-danger">Submit</button>
</form>         
<table class="table table-hover">
<thead>
<td ng-click="predicate = 'description'; reverse=!reverse">Description</td>
</thead>
<tbody>
<tr ng-repeat="task in tasks">
<td>{{task.description}}</td>
<td>
<i ng-click="" class="icon-edit-sign"></i>
</td>
</tr>
</tbody>
</table>
<button type="button" class="btn btn-primary" ng-click="clear_data()">Clear All Data</button>
</body>


и сам js файл app.js
Кликните здесь для просмотра всего текста
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
var app = angular.module('app', ['$strap.directives']);
 
app.controller('FormCtrl', function ($scope) 
{
 
    var storage_id = "save_easy";
    $scope.tasks = [];
    $scope.perst_tasks = JSON.parse(localStorage.getItem(storage_id));
    if($scope.perst_tasks != null)
    {
        for(var i =0; i < $scope.perst_tasks.length; i++)
        {
            var amount = parseInt($scope.perst_tasks[i].amount);
            $scope.tasks.push($scope.perst_tasks[i]);
        }
    }
    else
    {
        $scope.perst_tasks = [];
    };
    
    $scope.submit = function()
    {
        $scope.tasks.push({description:$scope.description});
        localStorage.setItem(storage_id, JSON.stringify($scope.tasks));
        
    }
 
 
 
    $scope.clear_data = function()
    {
        $scope.tasks = [];
        $scope.perst_tasks = [];
        localStorage.clear();
        $scope.showstate = false;
 
    }
 
 
});



если можешь склей так что бы все работало)
0
JokerNN
134 / 130 / 57
Регистрация: 29.12.2011
Сообщений: 359
23.06.2015, 10:57 5
а json файл на сервере или просто локальный читаете?
0
23.06.2015, 10:57
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.06.2015, 10:57

Диалог сохранения файла. Запись массива в txt
Что только не перепробовал, но удалось пока только просто сохранять массив в файл. Нужно, чтобы при...

Составить программу, в которой создать динамический массив указателей для сохранения двумерного массива В с N × N целых
Составить программу, в которой создать динамический массив указателей для сохранения двумерного...

Закон сохранения момента импульса и закон сохранения энергии
Человек стоит на краю горизонтальной платформы, вращающейся по инерции вокруг неподвижной оси с...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru