Angular Curly大括号无法在html中呈现

时间:2017-07-04 16:37:24

标签: html angularjs

在我的浏览器中,不会显示角度花括号的值。控制台中没有错误,控制台会记录该值,但在我的浏览器中是一个空白页面。不过它应该在左上角说“你好世界”。

我的app.js:

    (function() {
      'use strict';
      angular.module('testModule', []);
    }());

我的控制员:

    (function () {
        'use strict';
        angular
            .module('testModule')
            .controller('testController', Controller);
        Controller.$inject = [];

        function Controller() {
            var vm = this;        
            vm.test = "hello World";        
            activate();   
            function activate() {
                console.log(vm.test);
            }
        }
    })();

我的HTML:

<body ng-controller="testController">
    <div>
        {{vm.test}}
    </div>
</body>

2 个答案:

答案 0 :(得分:1)

在模板更新中喜欢; (因为你使用控制器作为语法)

ng-controller="testController as vm"

这是一个工作的掠夺者

http://plnkr.co/edit/tbENuThIIszfe2D2e4qx?p=preview

答案 1 :(得分:1)

您需要重写此行

<body ng-controller="testController">

as

<body ng-controller="testController as vm">

这是因为您在控制器中使用this并且使用this引用范围变量无法通过Angular表达式直接访问,因此您需要使用{{1}创建控制器的别名你可以给它任何别名。然后使用此别名访问范围变量。如果你使用

as

然后您需要 `<body ng-controller="testController as ctrl">`

访问