Javascript 从控制器读取ng init数据
我是angularJS新手,我想从contoller访问ng init数据,但总是返回未定义的,这里是我的代码 HTMLJavascript 从控制器读取ng init数据,javascript,angularjs,Javascript,Angularjs,我是angularJS新手,我想从contoller访问ng init数据,但总是返回未定义的,这里是我的代码 HTML <div class="row" ng-controller="IFuseController" ng-init="myText='Hello World!'"> .... </div> 有什么想法吗?发生这种情况是因为您的控制器在加载时被调用,而此时您没有为变量myText设置值 加载文本后,需要触发一个事件 演示 var uniqcApp=an
<div class="row" ng-controller="IFuseController" ng-init="myText='Hello World!'">
....
</div>
有什么想法吗?发生这种情况是因为您的控制器在加载时被调用,而此时您没有为变量myText设置值 加载文本后,需要触发一个事件 演示
var uniqcApp=angular.module('uniqueApp',[]);
uniqcApp.controller('IFuseController',函数($scope){
$scope.read=函数(){
log(“Cingda”+$scope.myText);
};
});代码>
读取初始值
发生这种情况是因为您的控制器在加载时被调用,而此时您没有为变量myText设置值
加载文本后,需要触发一个事件
演示
var uniqcApp=angular.module('uniqueApp',[]);
uniqcApp.controller('IFuseController',函数($scope){
$scope.read=函数(){
log(“Cingda”+$scope.myText);
};
});代码>
读取初始值
您可以强制将ng init
结果绑定到$scope
:
var uniqcApp=angular.module('uniqueApp',[]);
uniqcApp.controller('IFuseController',函数($scope){
var el=angular.element(document.querySelector('[ng controller=IFuseController]');
var attr=el[0]。getAttribute('ng-init');
$scope.$eval(attr);
log(“Cingda”+$scope.myText);
});代码>
您可以强制将ng init
结果绑定到$scope
:
var uniqcApp=angular.module('uniqueApp',[]);
uniqcApp.controller('IFuseController',函数($scope){
var el=angular.element(document.querySelector('[ng controller=IFuseController]');
var attr=el[0]。getAttribute('ng-init');
$scope.$eval(attr);
log(“Cingda”+$scope.myText);
});代码>
为什么不在控制器端初始化数据?
如果您仍然想这样做,可以使用$watch
$scope.$watch('myText',function(newVal){
alert(newVal);
})
为什么不在控制器端初始化数据呢?
如果您仍然想这样做,可以使用$watch
$scope.$watch('myText',function(newVal){
alert(newVal);
})
为什么要这样使用ng init?在大多数情况下,这不是正确的解决方案。。。你想在这里实现什么?你找到解决方案了吗?为什么要这样使用ng init?在大多数情况下,这不是正确的解决方案。。。你想在这里实现什么?你得到解决方案了吗谢谢你的解释,但是当角度控制器首次加载时,将数据传递到角度控制器的最佳方式是什么?你可以将其放在角度常数/服务中/factory@GustiArya答案有用吗谢谢你的解释,但是,当角度控制器第一次加载时,将数据传递给它的最佳方式是什么?您可以将其放置在角度常数/服务中/factory@GustiArya答案有用吗