如何在表达式中引用模块变量?

时间:2014-11-12 19:50:58

标签: javascript angularjs variables angularjs-directive angularjs-scope

我有一个模块,它的变量定义如下

var app = angular.module('app',[]);
app.value(
    'image',
    {
        id: null,
        url: null,
    }
);

在模块控制器中,我稍后在AJAX调用后将变量设置为某个值。当我在调用后从控制器检查变量时,变量的实际值设置正确。

我尝试从像这样的HTML代码中引用这个变量

<html ng-app="app">
...
<img ng-src="{{app.image.url}}">

由于某种原因,表达式被计算为空字符串。 我做错了什么?

1 个答案:

答案 0 :(得分:1)

这是因为app中没有定义$scope,您必须设置它:

angular.module('app').controller('SomeController', function(image) {
    $scope.image = image;
});

然后在你看来:

<html ng-app="app" ng-controller="SomeController">
...
<img ng-src="{{image.url}}">