gpt4 book ai didi

angularjs - 以 Angular 访问本地 sails 变量

转载 作者:行者123 更新时间:2023-12-03 06:51:42 26 4
gpt4 key购买 nike

我正在向我的 View 传递两个变量。如何从 Angular Controller 访问此变量?

sails Controller :

return res.view('dashboard', {
me: {
id: user.id,
apiKey: user.connection.apiKey
}
});

Angular Controller :

angular.module('DashboardModule').controller('DashboardController', function($scope, $http) {
$http.get("/api/" + encodeURIComponent($scope.me.apiKey));
.success(function(response) {$scope.records = response.records;});
}
});

HTML:

<h5>Api Key:</h5>
<p ng-model="me.apiKey"><%= me.apiKey %></p>

<ul>
<li ng-repeat="x in records">
{{ x.guiLoginName }}
</li>
</ul>

正如您所看到的,我正在尝试对特定的 apiKey(它是一个变量)执行 GET。该变量可以从 EJS 访问,但不能从 Angular 访问。我究竟做错了什么?公平地说,我根本不明白 sails 如何与 Angular 进行通信......

最佳答案

Sails 不与 Angular 通信,就这么简单。 Sails 与前端无关。

您可以渲染您的 locals变量到您的模板,因为当您调用 res.view() 时有一个模板传递但这基本上设置了你的 <%= me.apiKey %> block 。

你可以做的是:

  • 使变量在该位置可用,并通过路由参数获取它们(查找 ui-router)。
  • 通过浏览器的window对象传递:

在您的模板中:

<script>
var apiKey = <%= me.apiKey %>;
</script>

然后在 Angular 中你可以将它们恢复为:

app.controller('DashboardController', ['$scope', '$window',
function ($scope, $window) {
$scope.apiKey = $window.apiKey;
}
]);

关于angularjs - 以 Angular 访问本地 sails 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32428555/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com