SORU
25 Ocak 2013, Cuma


Oluşturma AngularJS denetleyicisi parametreleri uzatır mısın?

Bir denetleyici Bir kullanıcı adı, e-posta, vb özellikleri güncelleştirmek için bir API ile iletişim kurmak için sorumlu var. Her kullanıcının profil sayfası görüntülendiğinde sunucudan geçer 'id' vardır.

AngularJS denetleyicisi için bu değer geçmek istiyorum API giriş noktası geçerli kullanıcı için ne olduğunu biliyor. ng-controller değeri geçen denedim. Örneğin:

function UserCtrl(id, $scope, $filter) {

$scope.connection = $resource('api.com/user/'   id)

ve HTML

<body ng-controller="UserCtrl({% id %})">

{% id %} baskı yeri kimliği sunucudan gönderdi. ama hata alıyorum.

Kuruluşundan bir denetleyici içine bir değer geçmek için doğru yolu nedir?

CEVAP
25 Ocak 2013, Cuma


Notlar:

Bu cevap yaşlı. Bu istenilen sonuç elde edilebilir nasıl konseptinin sadece bir kanıtı. Ancak, bazı yorumlar aşağıda başı olarak en iyi çözüm olmayabilir. Ya da aşağıdaki yaklaşıma destek reddetmek için herhangi bir belge yok. Bazı yorumlar bakın bu konu hakkında daha fazla tartışma için aşağıya lütfen.

Orijinal Cevabı:

Buna cevap verdim Evet kesinlikle öyle ng-init ve basit başlatma fonksiyonu kullanarak yapabilirsiniz.

Burada plunker Bu örnek

HTML

<!DOCTYPE html>
<html ng-app="angularjs-starter">
  <head lang="en">
    <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.0.3/angular.min.js"></script>
    <script src="app.js"></script>
  </head>  
  <body ng-controller="MainCtrl" ng-init="init('James Bond','007')">
    <h1>I am  {{name}} {{id}}</h1>
  </body>
</html>

JavaScript

var app = angular.module('angularjs-starter', []);

app.controller('MainCtrl', function($scope) {

  $scope.init = function(name, id)
  {
    //This function is sort of private constructor for controller
    $scope.id = id;
    $scope.name = name; 
    //Based on passed argument you can make a call to resource
    //and initialize more objects
    //$resource.getMeBond(007)
  };


});

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ordetta Price

    Ordetta Pric

    12 EYLÜL 2011
  • The Warp Zone

    The Warp Zon

    24 AĞUSTOS 2007
  • thepoke64738

    thepoke64738

    17 HAZİRAN 2011