ng-model 在 Controller 上没有改变
ng-model not changing on Controller
在我的应用程序中,我有一个 div,其中的内容取决于收音机的值。当我点击一个按钮时,这个值在我的控制器中被初始化,当我再次点击他时它应该被重置。我的问题是,在值初始化后,我可以使用无线电更改它,但是当我调用该函数时它不会改变。
我的html代码:
<div>
<div ng-if="pageType=='select'">
<label><input type="radio" ng-model="pageType" value="valueA">Value A</label>
<label><input type="radio" ng-model="pageType" value="valueB">Value B</label>
</div>
<div ng-if="pageType=='valueA'">
<div ng-controller="valueAController">
<div ng-include="'views/valueA.html'"></div>
</div>
</div>
<div ng-if="pageType=='valueB'">
<div ng-controller="valueBController">
<div ng-include="'views/value.html'"></div>
</div>
</div>
</div>
我的控制器 js
$scope.resetValue= function () {
$scope.pageType= "select";
}
知道是什么产生了这个错误或者可能有解决方法吗?
ngIf 正在创建隔离作用域,因此它现在有自己的 pageType 版本。如果您将 pageType 嵌套在 $scope 对象上的另一个级别,它应该可以工作。
<div>
<div ng-if="pageType=='select'">
<label><input type="radio" ng-model="magicDot.pageType" value="valueA">Value A</label>
<label><input type="radio" ng-model="magicDot.pageType" value="valueB">Value B</label>
</div>
<div ng-if="magicDot.pageType=='valueA'">
<div ng-controller="valueAController">
<div ng-include="'views/valueA.html'"></div>
</div>
</div>
<div ng-if="magicDot.pageType=='valueB'">
<div ng-controller="valueBController">
<div ng-include="'views/value.html'"></div>
</div>
</div>
</div>
在你的控制器中
$scope.resetValue= function () {
$scope.magicDot = {
pageType: "select"
};
}
在我的应用程序中,我有一个 div,其中的内容取决于收音机的值。当我点击一个按钮时,这个值在我的控制器中被初始化,当我再次点击他时它应该被重置。我的问题是,在值初始化后,我可以使用无线电更改它,但是当我调用该函数时它不会改变。
我的html代码:
<div>
<div ng-if="pageType=='select'">
<label><input type="radio" ng-model="pageType" value="valueA">Value A</label>
<label><input type="radio" ng-model="pageType" value="valueB">Value B</label>
</div>
<div ng-if="pageType=='valueA'">
<div ng-controller="valueAController">
<div ng-include="'views/valueA.html'"></div>
</div>
</div>
<div ng-if="pageType=='valueB'">
<div ng-controller="valueBController">
<div ng-include="'views/value.html'"></div>
</div>
</div>
</div>
我的控制器 js
$scope.resetValue= function () {
$scope.pageType= "select";
}
知道是什么产生了这个错误或者可能有解决方法吗?
ngIf 正在创建隔离作用域,因此它现在有自己的 pageType 版本。如果您将 pageType 嵌套在 $scope 对象上的另一个级别,它应该可以工作。
<div>
<div ng-if="pageType=='select'">
<label><input type="radio" ng-model="magicDot.pageType" value="valueA">Value A</label>
<label><input type="radio" ng-model="magicDot.pageType" value="valueB">Value B</label>
</div>
<div ng-if="magicDot.pageType=='valueA'">
<div ng-controller="valueAController">
<div ng-include="'views/valueA.html'"></div>
</div>
</div>
<div ng-if="magicDot.pageType=='valueB'">
<div ng-controller="valueBController">
<div ng-include="'views/value.html'"></div>
</div>
</div>
</div>
在你的控制器中
$scope.resetValue= function () {
$scope.magicDot = {
pageType: "select"
};
}