Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法使ng watch以角度工作_Javascript_Angularjs - Fatal编程技术网

Javascript 无法使ng watch以角度工作

Javascript 无法使ng watch以角度工作,javascript,angularjs,Javascript,Angularjs,Background:用户在文本框中输入他的城市,然后进入一个新页面,显示当天的平均温度以及一般天气预报(预计会下雨、下雪等天气)。我希望页面动态响应预测,因此如果预计会下雪,它将加载某些数据。为此,我将一个模型附加到负责呈现预测的html元素。为了获得JSON格式的预测数据,我使用OpenWeatherMapAPI() 问题:我的angular应用程序对天气预报没有响应,我不知道为什么会这样 以下是相关的角度代码: $scope.forecast = ''; $scope.isSnow

Background:用户在文本框中输入他的城市,然后进入一个新页面,显示当天的平均温度以及一般天气预报(预计会下雨、下雪等天气)。我希望页面动态响应预测,因此如果预计会下雪,它将加载某些数据。为此,我将一个模型附加到负责呈现预测的html元素。为了获得JSON格式的预测数据,我使用OpenWeatherMapAPI()

问题:我的angular应用程序对天气预报没有响应,我不知道为什么会这样

以下是相关的角度代码:

 $scope.forecast = '';

 $scope.isSnow = function() {

        var subString = 'snow';

        if (($scope.forecast).indexOf(subString) > -1) {
            return 'snow!';
        } else {
            return 'no snow';
        }              
    } 
以下是相关的html:

  <div class="panel-body">
                    Daytime temperature: {{convertToCelcius(W.temp.day)}} °C
                   general forecast: <div ng-model="forecast">{{W.weather[0].description}}</div> 
                    <div>{{isSnow()}}</div>

日间温度:{{convertToCelcius(W.temp.day)}}
一般天气预报:{{W.weather[0]。说明}
{{isSnow()}}

因此,即使天气预报显示“小雪”,html也显示“无雪”。据我所知,ng模型有两种工作方式,因此html中发生的任何更改都应该反映在$scope.forecast中,那么为什么不发生这种情况呢?

您是否在html中使用高于此级别的控制器/应用程序?它可以工作!试试这个: