在我的控制器上,我创建了一个负责初始化范围状态的函数.然后它ng-init就像这样被调用:... ng-init="init(value)"where value是全局范围内的一些变量.问题是 - 它不起作用.角度是否允许传递变量?是否ng-init只在没有任何上下文的情况下进行评估,我必须准备一个字符串?
小智 13
我确信这不是"正确"的事情,但它有效并且我使用它.
在窗口上设置一个全局变量..
<script type="text/javascript">
window.myCtrlData = {\"a\": \"It's a duck!\"};
</script>
Run Code Online (Sandbox Code Playgroud)
..然后使用ng-init将变量的名称传递给控制器..
<div ng-controller="MyCtrl" ng-init="init('myCtrlData')">
Run Code Online (Sandbox Code Playgroud)
..然后检索init()内的全局变量
function MyCtrl($scope) {
$scope.init = function (dataKey) {
if (dataKey && window[dataKey]) {
var data = window[dataKey];
// add data to scope
angular.extend($scope, data);
}
};
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14982 次 |
| 最近记录: |