Javascript 使用AngularJS获取子对象

Javascript 使用AngularJS获取子对象,javascript,angularjs,Javascript,Angularjs,我认为: <span data-ng-init="fillEditForm['titi']='toto'" ></span> 结果: Object { titi: 'toto' } undefined 我想知道如何直接访问titi 我试过使用dot($scope.fillEditForm.titi),结果与注释中所述的结果相同,有几次ng init不应用于这种情况。我见过很多人在创建模板时已经使用了一些数据,我个人认为这会造成混乱,加载视图然后让它请求数据更容易,通

我认为:

<span data-ng-init="fillEditForm['titi']='toto'" ></span>
结果:

Object { titi: 'toto' }

undefined
我想知道如何直接访问titi


我试过使用dot($scope.fillEditForm.titi),结果与注释中所述的结果相同,有几次ng init不应用于这种情况。我见过很多人在创建模板时已经使用了一些数据,我个人认为这会造成混乱,加载视图然后让它请求数据更容易,通常所需的额外时间非常少,至少在处理数据之前可以显示加载消息

不管怎么说,你可以用树枝模板写的一个角度常数来解决这个问题,我不知道树枝的部分,所以我会对它进行伪编码

<script type='text/javascript'>
  angular.module('serverData',[]).constant('SOME_DATA_SET', <?php echo json_encode($thing)?>);
</script>

//Meanwhile in Gotham
angular.module('myApp',['serverData']).controller(function($scope,SOME_DATA_SET){
  console.log(SOME_DATA_SET);
});

角度.module('serverData',[]).constant('SOME_DATA_SET',);
//同时在高谭
angular.module('myApp',['serverData']).controller(函数($scope,一些数据集){
console.log(一些数据集);
});

不要用于初始化范围变量<代码>ngInit的唯一适当用途是为ngRepeat的特殊属性别名。除此之外,您还应该使用控制器而不是ngInit来初始化作用域上的值。。。。控制器将在ng init更新范围值之前运行。当您这样做时会发生什么:
$scope.$evalAsync(function(){console.log($scope.fillEditForm.titi);})
要添加
ng init
的优先级低于
ng controller
我在项目中使用带有S2/Twig的AngularJS,并且我想在模板Twig中声明一个变量,还有其他解决方案吗?具体来说,我想恢复预填充表单值​​在版本中,若要处理AngularJSAccess,请在设置后访问它,请尝试
范围。$evalAsync
,您是否检查了我以前的评论?我不知道什么是S2/Twig,但ng init实际上并不是为此目的而设计的。。无法在控制器中初始化它?它不能与$evalAsync一起使用。我的fillEditForm变量在我的控制器Angular中初始化,我通过AJAX调用一个表单,然后我想从视图中的表单输入设置Angular变量。
<script type='text/javascript'>
  angular.module('serverData',[]).constant('SOME_DATA_SET', <?php echo json_encode($thing)?>);
</script>

//Meanwhile in Gotham
angular.module('myApp',['serverData']).controller(function($scope,SOME_DATA_SET){
  console.log(SOME_DATA_SET);
});