Javascript 将ng模型变量设置为在angularjs中定义输入值

Javascript 将ng模型变量设置为在angularjs中定义输入值,javascript,angularjs,Javascript,Angularjs,假设我有以下几点: 我希望$scope.bookname的初始值为123。如果bookname在别处更新,我希望输入中的值发生更改(即模型绑定) 123是动态设置的(从rails),所以我不能在前面的javascript中设置它(即$scope.bookname=123;将不起作用) 有什么办法可以做到这一点吗?我想有几种方法可以做到这一点(我对rails不太熟悉,但我会尽量让它模糊到适用于所有服务器端语言): 在html中,动态创建标记并创建var BookName=123;其中“123”

假设我有以下几点:

我希望$scope.bookname的初始值为123。如果bookname在别处更新,我希望输入中的值发生更改(即模型绑定)

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


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

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

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

另外,这里还有另一个技巧(布莱什的答案):

来自ze bear的答案是正确的。在rails中实现这一点的方法是将JavaScript文件设置为erb文件,并在rails变量周围使用
标记。

他还可以使用angular直接捕获它,在脚本标记中使用
angular.value()
。脚本标记需要放在angular应用程序包含之后。