0

可以说我有以下内容:

我希望 $scope.bookname 的初始值为 123。如果 bookname 在其他地方更新,我希望输入中的值发生变化(即模型绑定)。

123 是动态设置的(来自 rails),所以我不能早先在 javascript 中设置它(即 $scope.bookname = 123; 将不起作用)。

任何想法如何做到这一点?

4

2 回答 2

1

有几种方法可以让我从头顶上做到这一点(我不熟悉 Rails,但我会尽量让它模糊到适用于所有服务器端语言):

  • 在您的 html 中,动态创建一个<script>标签并创建一个var BookName = 123; 其中 '123' 显然是服务器端变量的值。然后在你的控制器中,初始化它:$scope.bookname = BookName;
  • 在你的 html 中,创建一个隐藏的输入,并动态地给它一个值。然后获取控制器中的值:$scope.bookname = $('#inputID').val();
  • 您可以创建一个 json 调用并让您的控制器/服务发出请求,然后您的服务器发回变量的值。

另外,这是另一种技术(blesh的回答):Angular js init ng-model from default values

于 2013-07-01T02:15:33.677 回答
0

泽熊的回答是正确的。在 rails 中执行此操作的方法是将 JavaScript 文件制作为 erb 文件并<%= =>在 rails 变量周围使用标签。

于 2013-07-01T15:38:47.970 回答