波形符运算符在 angularjs 中不起作用?
The tilde operator not working in angularjs?
波浪号运算符 ~
在 ng-if
指令中不起作用,但我可以像这样检查条件 message.indexOf('angular') > 0
。
我想知道为什么波浪号运算符在 HTML.
中不起作用
在html中:
<div ng-if="~message.indexOf('angular') ? true : false">...</div>
在angularJS中:
$scope.message = 'Hello angular';
控制台出现错误
angular.js:13920 Error: [$parse:lexerr] Lexer Error: Unexpected next character at columns 0-0 [~] in expression [~message.indexOf('angular') ? true : false].
http://errors.angularjs.org/1.5.8/$parse/lexerr?p0=Unexpected%20nextharacter%20&p1=s%200-0%20%5B~%5D&p2=~message.indexOf('angular')%20%3F%20true%20%3A%false
at https://code.angularjs.org/1.5.8/angular.js:68:12
at Lexer.throwError (https://code.angularjs.org/1.5.8/angular.js:14179:11)
at Lexer.lex (https://code.angularjs.org/1.5.8/angular.js:14101:16)
at AST.ast (https://code.angularjs.org/1.5.8/angular.js:14303:30)
at ASTCompiler.compile (https://code.angularjs.org/1.5.8/angular.js:14771:31)
at Parser.parse (https://code.angularjs.org/1.5.8/angular.js:15700:29)
at $parse (https://code.angularjs.org/1.5.8/angular.js:15865:39)
at ChildScope.$watch (https://code.angularjs.org/1.5.8/angular.js:17104:19)
at Object.link (https://code.angularjs.org/1.5.8/angular.js:26396:16)
at https://code.angularjs.org/1.5.8/angular.js:1247:18
Angular 的模板表达式语法很像 JavaScript 表达式语法,但仍然不是JavaScript。
列出了主要区别 in the documentation,其中一个指出
- No Bitwise, Comma, And Void Operators: You cannot use Bitwise, , or void operators in an Angular expression.
不支持
波浪号运算符 ~
在 ng-if
指令中不起作用,但我可以像这样检查条件 message.indexOf('angular') > 0
。
我想知道为什么波浪号运算符在 HTML.
在html中:
<div ng-if="~message.indexOf('angular') ? true : false">...</div>
在angularJS中:
$scope.message = 'Hello angular';
控制台出现错误
angular.js:13920 Error: [$parse:lexerr] Lexer Error: Unexpected next character at columns 0-0 [~] in expression [~message.indexOf('angular') ? true : false].
http://errors.angularjs.org/1.5.8/$parse/lexerr?p0=Unexpected%20nextharacter%20&p1=s%200-0%20%5B~%5D&p2=~message.indexOf('angular')%20%3F%20true%20%3A%false
at https://code.angularjs.org/1.5.8/angular.js:68:12
at Lexer.throwError (https://code.angularjs.org/1.5.8/angular.js:14179:11)
at Lexer.lex (https://code.angularjs.org/1.5.8/angular.js:14101:16)
at AST.ast (https://code.angularjs.org/1.5.8/angular.js:14303:30)
at ASTCompiler.compile (https://code.angularjs.org/1.5.8/angular.js:14771:31)
at Parser.parse (https://code.angularjs.org/1.5.8/angular.js:15700:29)
at $parse (https://code.angularjs.org/1.5.8/angular.js:15865:39)
at ChildScope.$watch (https://code.angularjs.org/1.5.8/angular.js:17104:19)
at Object.link (https://code.angularjs.org/1.5.8/angular.js:26396:16)
at https://code.angularjs.org/1.5.8/angular.js:1247:18
Angular 的模板表达式语法很像 JavaScript 表达式语法,但仍然不是JavaScript。
列出了主要区别 in the documentation,其中一个指出
不支持
- No Bitwise, Comma, And Void Operators: You cannot use Bitwise, , or void operators in an Angular expression.