当前位置: 首页 > 面试题库 >

如何在Angular.js中解析

须衡虑
2023-03-14
问题内容

可能这是最简单的事情,但是我无法以角度将字符串解析为Int。

我正在尝试做的是:

<input type="text" ng-model="num1">
<input type="text" ng-model="num2">

Total: {{num1 + num2}}

如何求和这些num1和num2值?

谢谢!


问题答案:

您不能(至少目前)不能使用parseInt内部角度表达式,因为它们不会直接求值。引用
文档

Angular不使用JavaScript eval()来评估表达式。相反,Angular的$parse服务处理这些表达式。

表达式不必访问全局变量喜欢 windowdocumentlocation。此限制是有意的。它可以防止意外访问全局状态-
细微错误的常见来源。

因此,您可以total()在控制器中定义一个方法,然后在表达式中使用它:

// ... somewhere in controller
$scope.total = function() { 
  return parseInt($scope.num1) + parseInt($scope.num2) 
}

// ... in HTML
Total: {{ total() }}

不过,对于像加数这样的简单操作而言,这似乎是相当庞大的。另一种方法是使用-0op 转换结果:

Total: {{num1-0 + (num2-0)|number}}

…但这显然不会 解析Int 值,仅 它们 强制转换
为Numbers(|number过滤器阻止显示null此强制转换是否导致NaN)。因此,请选择适合您特定情况的方法。



 类似资料:
  • 可能,这是最简单的事情,但是我不能在angular中将一个字符串解析为Int.. 我想做的是: 如何对这些num1和num2值求和? 谢谢!

  • 问题内容: 我是Angular.js的新手,并且阅读我知道Angular没有诸如tap,doubletap等事件。我试图与Hammer.js结合使用而没有成功。 要点代码 现在我已经添加到我的html文件中 但是,当我尝试在我的html中使用它时,它不起作用。 我尝试过 没有人可以解决这个麻烦吗? 问题答案: 快去 将Hammer.js和jquery.hammer.js添加到您的解决方案中。使用J

  • 问题内容: 我有指令,它是带有后退按钮的网站标题,我想单击可返回到上一页。我如何以有角度的方式做到这一点? 我努力了: 这是指令js: 但什么也没发生。我查看了有关$ location 的angular.js API,但未找到有关后退按钮或的任何信息。 问题答案: 您需要在指令中使用链接函数: 参见jsFiddle。

  • 问题内容: 我正在使用angular的请求,该请求成功返回包装在函数中的json: 如何访问/解析返回的函数包装的JSON? 问题答案: 更新:从Angular 1.6开始 您不能再使用JSON_CALLBACK字符串作为占位符来指定回调参数值应放在何处 您现在必须像这样定义回调: 通过更改/访问/声明参数,默认为 注意:您还必须确保将URL添加到受信任/白名单中: 或通过以下方式明确信任: 被弃

  • 问题内容: 我想像在常规j​​Query中那样指定。Angular.js有可能吗? 问题答案: 来自http://docs.angularjs.org/api/ng.$http 转换请求和响应可以使用转换函数来转换请求和响应。默认情况下,Angular应用以下转换: 请求转换: 如果请求配置对象的data属性包含一个对象,则将其序列化为JSON格式。响应转换: 如果检测到XSRF前缀,则将其剥离(

  • 问题内容: 我正在尝试获取手机号码文本框的值,以使用angular.js验证其输入值。我是使用angular.js的新手,但不确定如何实现这些事件,并在我的html代码上放了一些JavaScript来验证或操作表单输入。 这是我的HTML: 而我的控制器: 我不确定如何在angular.js中使用keydown事件,我也搜索了如何正确使用它。我可以验证我对指令的输入吗?还是我应该像使用控制器那样使