如何使用AngularJS在ng-init中传递范围变量

时间:2015-02-27 16:50:14

标签: javascript angularjs

我有问题从范围声明的变量传递给ng-init:

到目前为止,我有类似的事情:

$scope.x = '10';

<div ng-controller = "controller" ng-init="function(x)">

如何从ng-init函数中的范围传递x var?

4 个答案:

答案 0 :(得分:6)

很多人会告诉你你不应该这样做(正如这里的文档中提到的那样:https://docs.angularjs.org/api/ng/directive/ngInit)。

至于实际做到了......

<div ng-controller="controller" ng-init="x = x">

答案 1 :(得分:1)

也许这个可以帮到你:

$scope.x = '10';

<div ng-controller = "controller" ng-init="x">

答案 2 :(得分:1)

如果你想使用ng-init推送一个值,我会使用类似这样的东西

Js代码

angular.module("app",[])
.controller("ctrl",function($scope){
    $scope.x = "this will be replaced"; //not really needed
    $scope.initialize = function(bar){
        $scope.x=bar;
    }
})

和html

<div ng-app="app" ng-controller="ctrl" ng-init="initialize('your value')">

答案 3 :(得分:0)

如果你想在你有控制器的标签上执行一个函数,为什么不简单地在控制器的构造函数中运行该函数(即函数)?

并非所有内容都必须在标记中。

JS:

angular.module(...).controller('MyController', function ($scope) {
    $scope.myFunction($scope.x);
})

HTML:

<div ng-controller="MyController"></div>