检查变量是否等于angularjs控制器中的数字

时间:2017-02-01 02:49:58

标签: angularjs

我正在 Angularjs 中的一个tutoriel做一个练习。我想检查范围等于5的变量 nbElement 是否将 curentpage 更改为1000.但是curentpage永远不会更改。

controller.js:

if ($scope.nbElement==5)

我尝试了if ((parseInt($scope.nbElement,10)==parseInt("5",10)) <!DOCTYPE html> <html> <head> <link type="text/css" href="main.css" rel="stylesheet"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script> <script src="jquery.js"></script> </head> <body> <section> <h1 id="header">~Wonderful Weather Widget~</h1> <div id="days"> <div id="content"> <div id="place"></div> <div id="day"></div> <div id="conditions"></div> <div id="conditionsDesc"></div> <div id="currentTemp"></div> </div> </div> <script src="script.js"></script> </section> <article> <div id='openweathermap-widget'></div> <script type='text/javascript'> window.myWidgetParam = { id: 15, cityid: 5780993, appid: 'bb80d6b0bf0dbcf02f65eff720397c3b', containerid: 'openweathermap-widget', }; (function() { var script = document.createElement('script'); script.type = 'text/javascript'; script.async = true; script.src = 'http://openweathermap.org/themes/openweathermap/assets/vendor/owm/js/weather-widget-generator.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(script, s); })(); </script> <div id="clouds" class="box">Cloudy</div> </article> </body> </html> ,但也没有尝试。

1 个答案:

答案 0 :(得分:0)

您已在条件中提供了额外的(

if ((parseInt($scope.nbElement)==parseInt("5")) 
    ^
   here

删除它。

DEMO

此外,您不需要此类int检查

if ((parseInt($scope.nbElement)==parseInt("5")) 

作为nbElement int的值,您不需要。{

就这么说吧

if ($scope.nbElement == 5)

但是,如果nbElement的值更改为字符串,如果将int放在条件的右侧,它将在检查期间执行转换。但是,如果您想进行严格检查,请使用===代替==并在变量前添加+,然后将值转换为数字

喜欢这个

if (+$scope.nbElement === 5) {