Javascript 从模板调用函数时出现问题

Javascript 从模板调用函数时出现问题,javascript,jquery,angularjs,angularjs-scope,Javascript,Jquery,Angularjs,Angularjs Scope,在一个例子中,我遇到了从模板在控制器上运行函数的问题。该值成为包含函数签名的字符串,而不是应该从函数返回的值 当我在模板标记中使用{{getSomeObjectd}}时,它工作正常,并打印对象值,这意味着该函数在控制器上被调用 我试过有{{}和没有{{} 伪代码: <div class"xyz" data-lav-fact="getSomeObject(d)"> <!-- Does not work here --> {{ getSomeObject(d) }}

在一个例子中,我遇到了从模板在控制器上运行函数的问题。该值成为包含函数签名的字符串,而不是应该从函数返回的值

当我在模板标记中使用{{getSomeObjectd}}时,它工作正常,并打印对象值,这意味着该函数在控制器上被调用

我试过有{{}和没有{{}

伪代码:

<div class"xyz" data-lav-fact="getSomeObject(d)"> <!-- Does not work here -->
    {{ getSomeObject(d) }} <!-- Works here -->
</div>
这适用于应用程序的其他部分,我不知道在这种情况下会出现什么问题。
有人知道这里通常会出现什么错误吗?

因为您正试图使用$scope函数设置属性,所以您需要使用。下面是一个简单的例子,说明了这一点。检查注销的元素之间的差异。当您挖掘时,您将看到您的{key:'test'}值被设置

<div id="without" data-lav-fact="getSomeObject()">without</div>
<div id="with" ng-attr-data-lav-fact="{{ getSomeObject() }}">with</div>

lavFact指令是什么样子的?我想,如果你删除数据lav fact=getSomeObjectd,它就会工作,所以问题在指令中,它是如何转换数据的。真的需要更多的细节。。。。。。具体地说,lavFact指令的隔离范围是如何定义的。你能把你的全部代码放到一个splunker中吗?你在这方面有什么进展吗?我的回答有帮助吗?我们将非常感谢您的反馈,以便我们能够帮助您解决此问题
<div id="without" data-lav-fact="getSomeObject()">without</div>
<div id="with" ng-attr-data-lav-fact="{{ getSomeObject() }}">with</div>
app.controller('ctrl', ['$scope', function($scope) {

    $scope.getSomeObject = function() {
        return { key: 'test' };
    }

    var w = angular.element(document.getElementById('with'));
    var wo = angular.element(document.getElementById('without'));

    console.log(w[0].attributes);  // has value
    console.log(wo[0].attributes); // does not have value
}]);