答案 0 :(得分:3)
您需要在控制器中为var2model设置值: 例如:$ scope.var2model =' a'
答案 1 :(得分:2)
对于选择输入,您使用var2model
作为输入的模型。因此,为了提供默认值,您必须为此模型对象赋值。
对于select,为了分配默认值,您必须从用于在选择选项中放置值的数组中指定值。
所以你可以做到以下几点:
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>
答案 2 :(得分:1)
在从Patient
服务检索数据后的控制器中,您应该使用默认值初始化var2model
。
答案 3 :(得分:0)
只需设置$ scope.var2model =&#39; a&#39;并删除ng-init。 Ng-init有另一个目标,来自他们的文档:
ngInit的唯一合适用途是对特殊属性进行别名处理 ngRepeat的内容,如下面的演示所示。除了这种情况,你应该 使用控制器而不是ngInit来初始化作用域上的值。