SORU
20 EYLÜL 2012, PERŞEMBE


Nasıl dinamik olarak değiştirmek angularjs kısmi görünümü temel başlık?

Ng-view Angularjs kısmi manzaralıdır kullanıyorum ve sayfa başlığı ve h1 başlık etiketleri dahil görünüme göre güncellemek istiyorum. Bu kısmi görünümü denetleyicileri rağmen kapsamı dışındadır ve bu yüzden veri denetleyicileri ayarlamak için onları bağlamak için nasıl çözemiyorum.

Eğer ASP.NET MVC olsaydı @ViewBag bunu yapmak için kullanabilirsin ama angularjs karşılığı bilmiyorum. Hizmetler, olaylar vs. hakkında paylaşılan aradım ama hala bir çalışma yok. Çalışır, bu yüzden benim örnek değiştirmek için herhangi bir şekilde çok mutluluk duyacağız.

Benim HTML:

<html data-ng-app="myModule">
<head>
<!-- include js files -->
<title><!-- should changed when ng-view changes --></title>
</head>
<body>
<h1><!-- should changed when ng-view changes --></h1>

<div data-ng-view></div>

</body>
</html>

Benim Javascript:

var myModule = angular.module('myModule', []);
myModule.config(['$routeProvider', function($routeProvider) {
    $routeProvider.
        when('/test1', {templateUrl: 'test1.html', controller: Test1Ctrl}).
        when('/test2', {templateUrl: 'test2.html', controller: Test2Ctrl}).
        otherwise({redirectTo: '/test1'});
}]);

function Test1Ctrl($scope, $http) { $scope.header = "Test 1"; 
                                  /* ^ how can I put this in title and h1 */ }
function Test2Ctrl($scope, $http) { $scope.header = "Test 2"; }

CEVAP
15 Kasım 2012, PERŞEMBE


Ben sadece eğer yönlendirme kullanıyorsanız güzel bir şekilde sayfa Başlığı ayarlamak için keşfetti:

JavaScript:

var myApp = angular.module('myApp', ['ngResource'])

myApp.config(
    ['$routeProvider', function($routeProvider) {
        $routeProvider.when('/', {
            title: 'Home',
            templateUrl: '/Assets/Views/Home.html',
            controller: 'HomeController'
        });
        $routeProvider.when('/Product/:id', {
            title: 'Product',
            templateUrl: '/Assets/Views/Product.html',
            controller: 'ProductController'
        });
    }]);

myApp.run(['$rootScope', function($rootScope) {
    $rootScope.$on('$routeChangeSuccess', function (event, current, previous) {
        $rootScope.title = current.$$route.title;
    });
}]);

HTML:

<!DOCTYPE html>
<html ng-app="myApp">
<head>
    <title ng-bind="'myApp — '   title">myApp</title>
...

Edit: ng-bind kullanarak yük göstermiyorlar yani kivircik yerine {{}} öznitelik

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • AllYourNewsByMe

    AllYourNewsB

    18 Temmuz 2011
  • Austin Evans

    Austin Evans

    5 AĞUSTOS 2007
  • Louis C.K.

    Louis C.K.

    18 HAZİRAN 2006