Javascript Angular.js-$scope未被插值

Javascript Angular.js-$scope未被插值,javascript,html,angularjs,Javascript,Html,Angularjs,我有一个Angular.js应用程序,由于某种原因,我无法将$scope对象上的任何内容插入HTML。我的MainCtrl控制器和MainFactory可以很好地一起工作,我可以将一个图形正确地附加到html中,只是插入$scope不起作用。以下是我目前拥有的代码: 编辑:我正在将其与视图渲染引擎Swig一起使用 var app = angular.module("myapp", []); app.controller('MainCtrl', function($scope, MainFact

我有一个Angular.js应用程序,由于某种原因,我无法将
$scope
对象上的任何内容插入HTML。我的
MainCtrl
控制器和
MainFactory
可以很好地一起工作,我可以将一个图形正确地附加到html中,只是插入
$scope
不起作用。以下是我目前拥有的代码:

编辑:我正在将其与视图渲染引擎Swig一起使用

var app = angular.module("myapp", []);

app.controller('MainCtrl', function($scope, MainFactory) {
    $scope.firstName = 'George';

    console.log('scope :', $scope);  // logs the $scope obj correctly but doesn't have my firstName property on it

    MainFactory.fetchBacktestedDataByAllocationId()
    .then(data => {
        // draw and append chart - works fine
    });
});


app.factory('MainFactory', function($http) {
    var MainFactory = {};

    MainFactory.fetchBacktestedDataByAllocationId = function() {
        return $http.get('/path/to/api')
        .then(response => {
            return response.data;
        })
    };

    return MainFactory;
});
HTML:



名字:{{firstName}}


我做错了什么?

可能是任何其他脚本或视图引擎(如果您与某些服务器渲染引擎(如handlebar、ejs)一起使用)也可能使用符号
{

尝试使用此选项更改角度插值符号

app.config(function($interpolateProvider) {
    $interpolateProvider.startSymbol('[[');
    $interpolateProvider.endSymbol(']]');
  });

看看这是否管用。

@georgej曾经有一次,我也为此烦恼了很长时间:)
app.config(function($interpolateProvider) {
    $interpolateProvider.startSymbol('[[');
    $interpolateProvider.endSymbol(']]');
  });