我陷入困境,应该在'jsp'文件中检索存储在会话中的id值,从而将检索到的值分配给angular var。
<%=uidfrmSession%>
包含检索到的值。但我找不到将其分配给角度模型的方法。
以下是我提出的方法,但它不起作用。
<input type="hidden" ng-value="<%=uidfrmSession %>" ng-model="uid">
当我检查角度模型var uid
的值时,其中包含undefined
。
请帮忙!
答案 0 :(得分:1)
这里的问题可能是当最初加载angularJS时,JSP还没有更新该项的值。我可以想出两种解决方法。
选项1
观察模型uid
是否有更改,然后在更新其值后执行任何额外的功能。
$scope.$watch('uid', function (nv, ov) {
if (!nv) {
return;
}
// Do whatever you need with the date for $scope.uid
...
}
选项2
显然,最好避免尽可能避免使用$watch
,而是可以将ng-change
添加到input
标记中。因此,当模型uid
的值发生变化时,您将分配给ng-change
的任何函数都将被调用
// html
<input type="hidden" ng-change="doStuff()" ng-model="uid">
//代码
$scope.doStuff = function () {
// Do whatever you want with the value of $scope.uid
...
};
干杯
答案 1 :(得分:0)
希望这会起作用
<input type="hidden" ng-init="uid = '<%= uidfrmSession %>'">
注意:我们必须初始化模型,默认情况下,模型的值是未定义的,因此它将值设置为undefined