我想将参数传递给具有Angular Material Select md-on-close的函数。
使用我当前的代码,当我执行控制台日志时,我会返回undefined
。
到目前为止我所拥有的。
HTML
<md-input-container>
<label>Season</label>
<md-select name="season"
ng-model="cteam.season"
md-on-close="cteam.getid(season.$id)">
<md-option ng-repeat="season in cteam.seasons | orderBy: 'name'" value="{{season.name}}">
{{season.name}}
</md-option>
</md-select>
</md-input-container>
控制器
(function() {
angular
.module('app')
.controller('CreateTeamController', function() {
var vm = this;
vm.getid = function(id) {
console.log(id);
};
});
})();
更新(添加app.js代码) app.js
(function() {
angular
.module('app', [
'ngRoute',
'ngMaterial',
'ngMessages',
'firebase'
])
.config(function($routeProvider, $mdThemingProvider){
$mdThemingProvider
.theme('default')
.primaryPalette('deep-purple');
$routeProvider
.when('/', {
templateUrl: 'views/main.html',
})
.when('/create/team', {
templateUrl: 'views/create-team.html',
controller: 'CreateTeamController',
controllerAs: 'cteam',
})
.otherwise({
redirectTo: '/',
});
});
})();
答案 0 :(得分:0)
参见md-on-close="cteam.getid(season.$id)"
季节并未提及您在ng-repeat中使用的季节。 ng-repeat创建一个新范围,并在其父范围内调用该函数。
但是你告诉md-select你要绑定&#39;选择&#39;季节到ng-model="cteam.season"
的cteam.season。
您所要做的就是将md-on-close
属性更改为md-on-close="cteam.getId(cteam.season.$id)"
或您在ng-model
中引用的任何属性。