Javascript $scope在使用ng时不更新,如果

Javascript $scope在使用ng时不更新,如果,javascript,angularjs,angularjs-scope,Javascript,Angularjs,Angularjs Scope,在Angular 1.3.x上,我做了一个select输入,在ng change上调用一个函数。周围有一个ng if语句 html 当我更改select字段时,会使用正确的$scope update调用ng change函数,但是,$scope不会更新 请参阅以下链接: 当我删除ng if语句时,$scope被select输入正确更新。有人能解释一下这种行为吗?ng if指令创建了一个新的作用域,该作用域通常从父作用域继承。因此,您的ng model=cityId正在更新此新范围中的cityId

在Angular 1.3.x上,我做了一个select输入,在ng change上调用一个函数。周围有一个ng if语句

html

当我更改select字段时,会使用正确的$scope update调用ng change函数,但是,$scope不会更新

请参阅以下链接:

当我删除ng if语句时,$scope被select输入正确更新。有人能解释一下这种行为吗?

ng if指令创建了一个新的作用域,该作用域通常从父作用域继承。因此,您的ng model=cityId正在更新此新范围中的cityId

在父范围中使用对象,并引用ng模型中的对象

例如:

在控制器中,定义

$scope.data = {cityIds: null};
请参考模板中的内容

ng-model="data.cityIds"

这可以确保您始终处理父作用域的数据。

以下是说明:。有一个好的习惯总是一个好的做法。在ng模型路径中。或者使用“controller as”语法为控制器命名,并通过该名称访问模型。
$scope.data = {cityIds: null};
ng-model="data.cityIds"