我有一个应用程序必须在select
内显示一些选项,具体取决于之前的选项。为了达到这个目的,我将逻辑放在控制器函数中显示这些选项,如下所示:
vm.getScopeValues = function(tp){
var vals = [];
vals.push({n: 'Opt1', v: 'opt1'});
if(!tp || tp != 'somevalue'){
vals.push({n: 'Opt2', v: 'opt2'});
}
return vals;
};
问题在于,有时候,我得到一个undefined
作为选择选项的值。在下面的jsFiddle中,您可以看到更简单的方法,但结果相同:
https://jsfiddle.net/nr9ffrkk/
如你所见:
track by v
,我会得到未定义的track by o.v
,那么值是正确的,但ng-model
无法正确匹配o.v as o.n...
的情况下写track by
,我会收到错误($ digest cycles)undefined
值我已经console.log
看了函数的返回值,并且它被正确调用并返回正确的值(没有undefined
)。
我需要能够在fields
数组上创建dinamycally新条目(当然,type
的初始值)并且select为选项获取正确的值。
正如您所看到的,使用值创建控制器变量(不是函数)也不起作用,带来同样的问题:
https://jsfiddle.net/dgy5ryvh/
谢谢!