繁体   English   中英

如何在玉器模板(node.js)中将变量从angularJS插入字符串

[英]How to insert variable from angularJS to string in jade template (node.js)

如果我有角度$scope.id = '123' ,如何在node.js的Jade模板中使用它? 我想将其用作链接的一部分。

p
   | {{id}} // It does work...

form(name="Remove", action="/cam/{{id}}_method=DELETE", method="post")
// ...but it doesn't
      button(type='submit')
           | ready

使用Jade时,可以使用!=运算符进行unescape HTML编码。

form(name="Remove", action!="/cam/{{id}}_method=DELETE", method="post")

但是,这可能会导致插值问题。 因此,我建议您在像这样的控制器中具有功能

$scope.form_url = function (id) {
  return '/cam/' + id + '_method=DELETE';
};

那么这应该可以解决问题:

form(name="Remove", action="{{form_url()}}", method="post")

检查以下来源: nodejs,翡翠转义标记AngularJS多个表达式,它们通过URL插值连接

尝试:

form(name="Remove", action="'/cam/' + {{id}} + '_method=DELETE'", method="post")

当没有管道前缀时,Jade使用{}作为评估指标,因此您需要使用不需要此前缀的角度绑定。 对于您的示例,我将创建一个控制器函数并将其ID和方法传递给它。 这是一个例子:

script.
    angular.module('formapp', [])
        .controller('formctrl', function($scope, $http){
            $scope.formsubmit = function(id, method){
                $http({
                    method: method,
                    url: '/cam/' + id + '_method=DELETE'
                });
            };
        })
form(ng-controller="formctrl" name="Remove", ng-submit="formsubmit(id, 'post')")
  button(type='submit')
       | ready

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM