angular.fromJson(response)
и
angular.toJson(response)
vm.data = dataService.getData().$promise.then(success, error);
function success(resource) {
// тут не данные в resource, а объект $resource с данными, тут можно почистить его через angular.fromJson и т.п.
}
dataService.getData().$promise.then(success, error);
function success(resource) {
// тут не данные в resource, а объект $resource с данными, тут можно почистить его через angular.fromJson и т.п.
// сначала что-нибудь делаем с полученными данными, а потом присваиваем их в скоуп
vm.data = transformMyData(resource);
}
a.on('click', function(e) {
var page = e.target.text;
$scope.setPage(page);
// обновляем скоуп
$scope.$apply();
});
<ul class="pagination">
<li ng-repeat="page in pages">{{page}}</li>
</ul>
<ul class="pagination">
<li ng-repeat="page in pages" ng-click="openPage(page)">{{page}}</li>
</ul>
<ul class="pagination">
<li ng-repeat="page in pages">
<a ng-href="/page/{{page}}">{{page}}</a>
</li>
</ul>
this.newUser = {};
app.config(['$routeProvider',
function($routeProvider) {
$routeProvider.
when('/main', {
id: 'main',
title: 'Главная',
category: 'rootPage',
templateUrl: 'mainPage.html',
controller: 'MainPage',
}).
when('/powerSky', {
id: 'powersky',
title: 'Всем повер-скай, посоны',
category: 'contentPage',
templateUrl: 'template/powerSky.html',
controller: 'PowerSky'
}).
otherwise({
redirectTo: '/main'
});
}]);
app.controller('MainController', function($rootScope) {
$rootScope.$on('$routeChangeSuccess', function(e, current, previous) {
var page = current.$$route;
// присваиваем глобально
$rootScope.page = page;
});
});
<!DOCTYPE html>
<html ng-app="app">
<head>
<title>{{page.title}}</title>
</head>
<body ng-class="page.id" ng-controller="MainController">
<main ng-view></main>
</body>
</html>
<!DOCTYPE html>
<html ng-app="app">
<head>
<title>{{page.title}}</title>
</head>
<body ng-class="page.category" ng-controller="MainController">
<main ng-view></main>
</body>
</html>
body {
&.rootPage {
background-color: #fff;
}
&.contentPage {
background-color: #ddd;
}
}
<ul>
<li ng-repeat="(i, items) in collection">
<ul>
<li ng-repeat="(j, item) in items">
{{i}} — {{j}}
Чекбокс: <input type="checkbox" name="field[{{i}}][{{j}}]">
<button ng-click="doSomething(i, j)">Клацнуть</button>
<button ng-click="buyItem(item.id)">Купить</button>
</li>
</ul>
</li>
</ul>
var deferred = $q.defer(); // допустим, вы получаете промис из $q (а может быть из $http или $resource, я не знаю)
console.log(deferred.promise); // возвратит объект, и там будет ваш $$state
console.log(deferred.promise.$$state); // возвратит то, что внутри $$state
console.log(deferred.promise.$$state.status); // возвратит status
$routeProvider
.when('/:lang/about',
{
templateUrl: 'pages/about.html',
controller: 'AboutController'
})
$rootScope.$on('$routeChangeSuccess', function(e, current, previous) {
window.scrollTo(0, 0);
});
$routeProvider
.when('/:pageNumber?', {
templateUrl: 'partials/home.html',
controller: 'HomeCtrl'
})
watchesStore.controller('WatchesStoreController', function($routeParams, paginationService) {
var pageNumber = $routeParams.pageNumber || 1;
pageNumber = parseInt(page, 10);
var paginationId = 'watchesStore'; // setCurrentPage требует instanceId — айдишку экземпляра пагинатора, чтобы знать, какой блок, собственно, пагинировать
paginationService.setCurrentPage(paginationId, pageNumber);
});
<dir-pagination-controls boundary-links="true" on-page-change="pageChangeHandler(newPageNumber)" template-url="dirPagination.tpl.html" pagination-id="watchesStore"></dir-pagination-controls>
$routeProvider
.when('/:watchId', {
templateUrl: 'partials/watch-detail.html',
controller: 'WatchDetailCtrl'
})
watchesStore.controller('WatchesStoreController', function($location, paginationService) {
var params = $location.search();
var pageNumber = params.page || 1;
pageNumber = parseInt(page, 10);
...
});
angular.module('app').directive('shoppingCartWidget', function(shoppingCartService) {
return {
restrict: 'E',
replace: true,
scope: {},
templateUrl: 'shopping-cart.html',
link: function(scope, element, attributes) {
scope.items = [];
// слушаем изменения в корзине
scope.$watch(shoppingCartService.getItems, function(items) {
scope.items = items;
});
}
}
});
angular.module('app').directive('shoppingCartService', function(_) {
var items = [];
function add(itemData) {
items.push(itemData);
}
function remove(itemID) {
items = _.reject(items, {id: itemID});
}
function clear() {
items = [];
}
function getItems() {
return items;
}
return {
add: add,
remove: remove,
clear: clear,
getItems: getItems
}
});
angular.module('app').controller('myController', function(shoppingCartService) {
// ну, тут будет не массив, а $resource, например
$scope.items = [
{
id: 1,
name: 'Клавиатура',
price: 150
},
{
id: 2,
name: 'Кофе',
price: 50
}
];
$scope.addToCart = addToCart;
function addToCart(itemData) {
shoppingCartService.add(itemData);
}
});
<ul>
<li ng-repeat="item in items">
<span>{{item.name}}</span>
<button ng-click="addToCart(item)">Добавить в корзину</button>
</li>
</ul>