我试图使用ng-init设置$ scope属性的值,我无法在控制器的javascript中访问该值.我究竟做错了什么?这是一个小提琴:http: //jsfiddle.net/uce3H/
标记:
<body ng-app>
<div ng-controller="testController" >
<input type="hidden" id="testInput" ng-model="testInput" ng-init="testInput='value'" />
</div>
{{ testInput }}
</body>
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
var testController = function ($scope) {
console.log($scope.testInput);
}
Run Code Online (Sandbox Code Playgroud)
在javascrippt中,$ scope.testInput未定义.不应该'有价值'?
我是Angular的新手但很享受它的方法.我有一个HTML文件,我ng-init在一个<div>元素中初始化一个变量,我也在声明一个带有该ng-controller指令的控制器:
<div ng-controller="myCtrl" ng-init='foo="bar"'>
Run Code Online (Sandbox Code Playgroud)
如果我console.log是$scope控制器脚本中的对象,我可以看到其他foo属性列出的属性,但是当我尝试从同一个脚本访问它时,它给了我undefined.我也在使用Batarang,它向我展示了<div>-scope 的模型,其中还包括该foo属性.
我从第二个答案中知道将变量传递给AngularJS控制器,最佳实践?我可以通过将我的ng-init指令移到外部来解决问题<div>,但我想知道幕后真正发生的事情.任何帮助非常感谢,提前感谢.
div元素中指令的顺序无关紧要.即使ng-init之前已指定,问题仍然存在ng-controller