可以传递参数到AngularJS控制器创建吗?
发布时间:2020-12-17 09:32:31 所属栏目:安全 来源:网络整理
导读:我有一个控制器负责与API通信来更新用户,名称,电子邮件等的属性。每个用户都有一个’id’,当查看配置文件页面时,从服务器传递。 我想传递这个值到AngularJS控制器,所以它知道什么API入口点是为当前用户。我试着通过ng-controller中的值。例如: functio
我有一个控制器负责与API通信来更新用户,名称,电子邮件等的属性。每个用户都有一个’id’,当查看配置文件页面时,从服务器传递。
我想传递这个值到AngularJS控制器,所以它知道什么API入口点是为当前用户。我试着通过ng-controller中的值。例如: function UserCtrl(id,$scope,$filter) { $scope.connection = $resource('api.com/user/' + id) 和在HTML中 <body ng-controller="UserCtrl({% id %})"> 其中{%id%}打印从服务器发送的标识。但我得到错误。 在创建控制器时,将值传递给控制器??的正确方法是什么?
笔记:
这个答案是老的。这只是对如何实现预期成果的概念的证明。但是,它可能不是最好的解决方案,如下面的一些意见。我没有任何文档来支持或拒绝以下方法。请参考下面的一些意见,进一步讨论这个话题。 原始答案: 我回答这个 这里是它的例子在plunker 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) }; }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |