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

  • Neil Cicierega

    Neil Ciciere

    22 Mart 2006
  • Snazzy Labs

    Snazzy Labs

    9 Aralık 2008
  • TheSalband Rai

    TheSalband R

    11 NİSAN 2011