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

  • Commander Chalkboard

    Commander Ch

    20 Ocak 2014
  • FrankJavCee

    FrankJavCee

    29 Kasım 2008
  • The White House

    The White Ho

    21 Ocak 2006