Angularjs md选择带有条件的默认值

Angularjs md选择带有条件的默认值,angularjs,angular-material,Angularjs,Angular Material,我使用md select选择一年。有一种情况是,当您第一次填写表单时,您将得到一个默认值“最近一年”,否则您将得到以前的值 这是我的视图(超薄格式) 这是我的年度迭代控制器(咖啡格式) 我的错误 将评论作为答案 ng-selected="detail.year? == null ? year.year : $first" | {{year.year}} 不要在html中添加逻辑,将其保存在JS文件中,它将更易于测试+你不必与角度语法支持抗争ng selected返回一个布尔值,检查文档。

我使用md select选择一年。有一种情况是,当您第一次填写表单时,您将得到一个默认值“最近一年”,否则您将得到以前的值

这是我的视图(超薄格式)

这是我的年度迭代控制器(咖啡格式)

我的错误
将评论作为答案

   ng-selected="detail.year? == null ? year.year : $first" | {{year.year}}

不要在html中添加逻辑,将其保存在JS文件中,它将更易于测试+你不必与角度语法支持抗争

ng selected
返回一个布尔值,检查文档。另外,为什么不将此逻辑放在JS中,html中的逻辑本身就是代码味道我假设你使用coffeescript,但在你看来,你应该使用javascript(选择ng时语法错误,请在详细信息后加上“?”。year@FetraR.coffescript是一个javascript@harishr好的,我会试着向我的控制员解释清楚的。我明白了@harishr是对的,谢谢你点击我的问题的向上箭头。我不知道Fetra为什么生我的气???哈哈,谢谢他/她想说的是对的,在html中使用javascript和d不是coffeescript,仅此而已..angular仅适用于html中的javascript表达式。这种理解将有助于您在将来避免类似的错误
$scope.years = []
start_year = (new Date).getFullYear()
i = start_year
while i >= 2005
 $scope.years.push(year: i)
 i--
   ng-selected="detail.year? == null ? year.year : $first" | {{year.year}}