我有下面的代码,它成功地设置了所选的默认值但是当没有触及这个dropdpwn时,如果将值发送到控制器,则它变为null。但如果我更改选项值,则值将传递给控制器。我在这里失踪了什么?
{"skuList":["abc", "xyz", "ghr"]}
config是一个字符串数组。像
'use strict';
angular.module('TheSimpleApp', [
'ui.router'
])
.config(['$stateProvider',
function($stateProvider) {
$stateProvider
.state('home', {
url: '/home',
views: {
'main': {
controller: 'HomeCtrl',
template: '<div>' +
'<h1>hello from parent</h1>' +
'<hr />' +
'<div ui-view="nameOtherThenSpace" ></div>' +
'<div>{{test}}</div>'+
'<select ng-model="detail.skuName" class="form-input-wrapper form-select-hidden">'+
'<option data-ng-repeat="sku in config.skuList" ng-selected="sku">{{sku}}'+
'</option>'+
'</select>'+
'<div>'+
'<a href="#" ng-click="send(detail)">send</a>',
}
}
})
.state('home.details', {
url: '/details',
views: {
"nameOtherThenSpace": {
template: "<h2>hello from a child</h3>",
controller: function($scope, $http, $state) {},
}
}
});
}
])
.controller('HomeCtrl', function($scope, $http, $state) {
$scope.test = "Test Me";
$scope.config = {"skuList":["abc", "xyz", "ghr"]};
$scope.send = function(detail){
alert(angular.toJson(detail));
}
})
.config([ '$urlRouterProvider',
function($urlRouterProvider) {
$urlRouterProvider.otherwise('/home');
}
]);
你能帮忙吗
编辑: 使用示例代码。
{{1}}
使用上面的代码替换此plunker上的script.js以显示问题,单击send而不更改加载时的下拉值,未定义传递,更改下拉值,一切正常。我正在寻找正确传递的值而不改变下拉值。