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

  • Dogbert files

    Dogbert file

    12 Ocak 2012
  • Matus Slovak

    Matus Slovak

    5 Temmuz 2007
  • Ricardo Cerqueira

    Ricardo Cerq

    28 Mayıs 2008