当我的代码加载一切按预期工作时,会显示选择框,所有的选项都来自我传递给指令的state.TRVs
。并且选择myConfig.myTime
的值,但是当我更改值时,选择框变为空白,myConfig.myTime为undefined
。我正在使用AngularJS v1.2.28。
我这里有一个指令是HTML中的指令元素:
<my-dir my-config="conf" time-range-values="state.TRVs"></my-dir>
指令:
angular.
module("myMod").
directive("myDir", [
function () {
"use strict";
return {
restrict: "E",
scope: {
myConfig: "=",
timeRangeValues: "="
},
templateUrl: "my-temp"
};
}]);
MY-temp.html:
<select ng-model="myConfig.myTime"
ng-options="v as v for (k, v) in timeRangeValues track by v">
</select>
答案 0 :(得分:1)
删除track by v
表达式。来自AngularJS docs on ngOptions
:
请勿在同一表达式中使用select as和track by。它们并非旨在协同工作。
我今天在代码中遇到了类似的问题,结果发现我确实试图在一个表达式中使用这两个东西。删除它有帮助。