如何在ng-include中调用内联方法并连接结果?

时间:2015-09-06 18:20:12

标签: javascript angularjs angularjs-scope angularjs-ng-include

我希望将方法的结果作为传递给ngInclude的字符串的一部分。像这样:

<div ng-repeat="result in queryResults.results">
   <div class="box" ng-include="'views/' + getRenderer(result) + 'result.html'"></div>
</div>

这不起作用。它不会抛出错误,但结果是views/result.html。我记录了getRenderer()并确认它没有被调用。

我不确定为什么我的代码在此代码运行时无法正常工作:

<div class="box" ng-include="'views/widgets/' + result.someVariable + 'result.html'"></div>

编辑:getRenderer只返回一个字符串:

function getRenderer(result) {
    if (result === 'a') {
        return 'aaa';
    else 
        return 'bbb';
}

1 个答案:

答案 0 :(得分:1)

您应在下方添加$scope.getRenderer = getRenderer 。基本上提供函数的指针到范围变量,以便可以在HTML

上访问它
 //Add Observer in init method
 NSNotificationCenter.defaultCenter().addObserver(self, selector: "handler:", name: "MyNotification", object: nil)

//Handler
func handler(notif: NSNotification) {
    println("MyNotification was handled");
    println("userInfo: \(notif.userInfo)");
    println("SelectedCellNumber \(notif.userInfo!["selectedCellNumber"])"); //Validate userInfo here. it could be nil

}