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
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)
};
});
AngularJS : vs vs denetleyicisi derlem...
Değişkenler AngularJS denetleyicisi iç...
AngularJS denetleyicisi aynı modülü ba...
AngularJS: Kaynaklar (ORM Tarzı)DİNLEN...
bağlam parametreleri geçirmek için nas...