角度材料选择md-on-close通过参数

时间:2015-12-09 21:35:20

标签: javascript angularjs select angular-material

我想将参数传递给具有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: '/',
                });
        });

})();

1 个答案:

答案 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中引用的任何属性。