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

  • Fraser Raft

    Fraser Raft

    9 Mart 2010
  • Google Developers

    Google Devel

    23 AĞUSTOS 2007
  • Liberator

    Liberator

    14 EYLÜL 2007