使用 ng-options for select 用作控制器的表示法
Using ng-options for select when using as notation for controller
我有一个 select 使用 ng-options 来定义当我在 ng-controller 指令中只使用控制器名称时工作正常的选项。问题是,当我将 "as options" 添加到 ng-controller 时,它不再有效(没有选项)。
无效:
<div ng-controller="optionsCtrl as options">
<select ng-model="options.oxygenSource" ng-options="item.name for item in options.oxygenSources"></select><br />
</div>
作品:
<div ng-controller="optionsCtrl">
<select ng-model="oxygenSource" ng-options="item.name for item in oxygenSources"></select>
</div>
如果有帮助,这是我的控制器:
.controller('optionsCtrl', ['$scope', 'adminServ', function ($scope, adminServ) {
// User selections
$scope.oxygenSource = null;
$scope.oxygenSources = adminServ.getOxygenSources();
}])
有什么想法吗?谢谢,
杰森
您应该在使用 controllerAs
语法时更改 controller
。控制器应该使用 this
关键字而不是 $scope
.
控制器
.controller('optionsCtrl', ['$scope', 'adminServ', function ($scope, adminServ) {
var options = this;
options.oxygenSource = null;
options.oxygenSources = adminServ.getOxygenSources();
}])
ControllerAs article 了解托德座右铭的信息
我有一个 select 使用 ng-options 来定义当我在 ng-controller 指令中只使用控制器名称时工作正常的选项。问题是,当我将 "as options" 添加到 ng-controller 时,它不再有效(没有选项)。
无效:
<div ng-controller="optionsCtrl as options">
<select ng-model="options.oxygenSource" ng-options="item.name for item in options.oxygenSources"></select><br />
</div>
作品:
<div ng-controller="optionsCtrl">
<select ng-model="oxygenSource" ng-options="item.name for item in oxygenSources"></select>
</div>
如果有帮助,这是我的控制器:
.controller('optionsCtrl', ['$scope', 'adminServ', function ($scope, adminServ) {
// User selections
$scope.oxygenSource = null;
$scope.oxygenSources = adminServ.getOxygenSources();
}])
有什么想法吗?谢谢, 杰森
您应该在使用 controllerAs
语法时更改 controller
。控制器应该使用 this
关键字而不是 $scope
.
控制器
.controller('optionsCtrl', ['$scope', 'adminServ', function ($scope, adminServ) {
var options = this;
options.oxygenSource = null;
options.oxygenSources = adminServ.getOxygenSources();
}])
ControllerAs article 了解托德座右铭的信息