将ng模型var设置为取消angularjs中输入的值

set ng-model var to defualt value of input in angularjs

本文关键字:angularjs 输入 取消 ng 模型 var 设置      更新时间:2023-09-26

假设我有以下内容:

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

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

有什么想法可以做到这一点吗?

有几种方法可以让我不假思索地做到这一点(我不熟悉rails,但我会尽量让它足够模糊,适用于所有服务器端语言):

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

此外,这里还有另一种技术(blesh的答案):Angular js init ng模型来自默认值

ze bear的回答是正确的。在rails中实现这一点的方法是使JavaScript文件成为erb文件,并在rails变量周围使用<%= =>标记。