问问题
124 次
4 回答
3
您需要在控制器中为 var2model 设置值:例如:$scope.var2model = 'a'
于 2015-05-28T08:54:20.793 回答
2
对于选择输入,您将
var2model
其用作输入模型。因此,为了提供默认值,您必须为此模型对象赋值。对于选择,为了分配默认值,您必须从用于将值放入选择选项的数组中分配值。
因此,您可以执行以下操作:
var ctrlRes = controllers.controller('ctrlRes', function ($scope, $location, $window, Patient) {
$window.document.title = 'Results';
var path = $location.path().split('/');
var query = path[path.length - 1];
Patient.get({id: query}, function(data){
$scope.res = data;
});
$scope.selectArray = ['a','b','c','d','e','f','g','h'];
var index = $scope.selectArray.indexOf($scope.res.my_var);
$scope.var2model = $scope.selectArray[index];
$scope.editMode = false;
$scope.editData = function () {
console.log('editMode on');
$scope.editMode = true;
$scope.my_var = $scope.res.my_var;
};
});
ctrlRes.$inject = ['$scope', 'Patient'];
<select id="select_id" ng-model="var2model" ng-options="i for i in selectArray"></select>
于 2015-05-28T08:57:20.120 回答
1
在从服务中检索数据后的控制器中,您应该使用默认值进行Patient
初始化。var2model
于 2015-05-28T08:52:44.680 回答
0
只需设置 $scope.var2model = 'a' 并删除 ng-init。Ng-init 有另一个目标,来自他们的文档:
ngInit 唯一合适的用途是为 ngRepeat 的特殊属性设置别名,如下面的演示所示。除了这种情况,您应该使用控制器而不是 ngInit 来初始化作用域上的值。
于 2015-05-28T08:56:45.193 回答