我尝试运行以下简单的HTML:
<!DOCTYPE html>
<html ng-app="tempApp">
<head>
<script src="js_libs/angular/angular.min.js"></script>
<script src="js_libs/angular/bootstrap.js"></script>
<script src="controller.js"></script>
<link rel="stylesheet" href="css/bootstrap.css">
</head>
<body ng-controller="TempCtrl">
<div class="container">
<h2>Enter temperature :</h2><input type="number" ng-model="temp">
<p ng-show="temp < 17">{{temp}} is too short !</p>
<p ng-show="temp = 17">{{temp}} is OK !</p>
<p ng-show="temp > 17">{{temp}} is too high !</p>
</div>
</body>
文件controller.js是:
var app=angular.module("tempApp", []);
app.controller("TempCtrl", function ($scope){
$scope.temp = 17;
});
问题是:
同时,尝试应用&lt;等标签。 h1&gt;到&lt; p>没有效果。我试过例如:
<p ng-show="temp < 17"><h1>{{temp}} is too short !</h1></p>
这些问题的解决方案是什么?感谢名单。
答案 0 :(得分:4)
您在ng-show中分配了值17。比较值应该是通过==或===。这应该可以解决你的大多数问题。
<p ng-show="temp === 17">{{temp}} is OK !</p>
答案 1 :(得分:1)
关于第一个问题:
使用Y
或temp == 17
进行比较,而不是temp === 17
,它将17分配给temp,因此您无法再更改该值。
关于temp = 17
内的h1
:
它是无效的HTML,因此当浏览器在p
内遇到h1
时,会关闭p
标记,然后启动新的p
标记,因此在您的如果你写的话
h1
然后浏览器将其呈现为
<p ng-show="temp < 17">
<h1> too short </h1>
</p>
P.S:不能说所有的浏览器,但chrome和Firefox可能会有这种行为。
答案 2 :(得分:0)
您正在使用分配运算符而不是比较运算符
解决方案:
<p ng-show="temp = 17">{{temp}} is OK !</p>
更改为=&gt;
<p ng-show="temp === 17">{{temp}} is OK !</p>