Это мой код маршрутизации:Как получить доступ к контроллеру маршрутизации в основном для вложенного контроллера в angular.js?
$routeProvider
.when('/', 'main')
.when('/books','main.book')
.segment('main', {
templateUrl:'templates/main.html',
controller:MainCtrl})
.within()
.segment('book', {
templateUrl:'templates/book.html',
controller:BookCtrl
})
Эти контроллеры:
function Mainctrl()
{
},
function Bookctrl($http,$cacheFactory)
{
var bookCache = $cacheFactory('Books');
var book = bookCache.get("BookName");
if(!book){
alert("first time");
var data=[{"name":"1"},{"name":"2"},{"name":"3"}];
bookCache.put("BookName",data);
} else {
alert("second time");
alert(book);
}
}
Сначала я загрузке main.html
страницу. Он имеет одно вложенное представление и имеет одну кнопку (Книга). Когда пользователь нажимает на эту кнопку, я просто загружаю book.html
в это вложенное представление, а затем в функцию BookCtrl
я отправляю запрос на сервер для получения данных с сервера. Я получаю ответ, и я показал все данные, которые работают нормально. Но когда я нажимаю на эту кнопку каждый раз, когда запрос отправляется на сервер. Поэтому вместо этого я планировал сохранить все данные в массиве, когда я нажимаю первый раз. Я попытался использовать вышеприведенный код, но когда я нажимаю первый раз, когда массив пуст, поэтому он нажимает данные в массив, но когда я нажимаю снова, он ничего не показывает. Это означает, что я не получаю предупреждения. Что я делаю не так?
Спасибо за ваш быстрый ответ ... я пробовал ваш код .... когда я нажимаю первый раз, когда он входит в состояние, но когда я нажимаю второй раз, я не получаю предупреждения ... пожалуйста, см. мой выше код .. .i использовали концепцию $ cacheFactory вместо концепции массива – silvesterprabu
@silvesterprabu, ну, если вы не получаете ни одного из предупреждений, то вы, ваш Bookctrl, даже не исполняетесь –
ok ... но когда я нажимаю первый раз, когда он выполняется, второй раз также выполняется, но он не проверяет, что оператор if becz Я поставил одно предупреждение раньше этого утверждения ..... – silvesterprabu