当前位置: 首页 > 面试题库 >

如何使用ng-init设置范围属性?

昌勇锐
2023-03-14
问题内容
我正在尝试使用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>

javascript:

var testController = function ($scope) {
     console.log($scope.testInput);
}

在javascrippt中,$ scope.testInput是未定义的。不应该是“价值”吗?


问题答案:

您正在尝试在完成Angular分配之前读取设置值。

演示:

var testController = function ($scope, $timeout) {
    console.log('test');
    $timeout(function(){
        console.log($scope.testInput);
    },1000);
}

理想情况下,您应该$watch按照@Beterraba的建议使用该计时器:

var testController = function ($scope) {
    console.log('test');
    $scope.$watch("testInput", function(){
        console.log($scope.testInput);
    });
}


 类似资料:
  • 我目前正在用下面的代码从Google表单中获取所有值,但是在从那里获取所有值之后,现在如何在另一个表单中设置它们呢? var ss=电子表格应用程序。openById(ID); var值=ss。getDataRange()。getValues(); var ss1=电子表格应用程序。openById(ID1); 我没能做到,有没有办法用for循环做到?

  • 我使用场景生成器v2.0创建了一个fxml布局。我正在修改控制器文件中的图表,即SampleController.java文件。我能够使用. setTitle方法设置图表标题。我需要动态设置xAxis(开始、结束、滴答)和yAxis的范围。在CSS中,使用lowerBound和upperBound属性很容易设置。但这是一个永久的解决方案。请提供您宝贵的建议和解决方案。 主要的爪哇: Sample.

  • 问题内容: 我正在实验室中运行Linux(Debian和Ubuntu)。用户名和组名由NIS和yp处理。我们有一些普通用户,每个人都可以访问该用户来运行实验,然后我们每个人都有自己的用户,此外还有一个共同的组,我们都是该组的成员。 如何使用户/组读取/写入(/可执行)共享驱动器(NFS)上的所有文件和目录?基本上我想要的是 或等效地。 但是运行以上命令只能修复文件夹中的当前文件,而umask仅适用

  • 订阅号-可发现 1)全体成员可见:不仅设置范围内的成员可使用,其他企业内成员也可从发现列表中自行订阅,同时也可取消订阅。 2)仅指定成员可见:仅设置范围内的成员可使用,不可被发现,并且不可自行取消订阅。

  • 我试图用Dash重新创建这个生动的示例,但是我无法获得按钮和范围滑块。有人知道我怎么做吗? 这就是我尝试的: