javascript - 在 DOM (html) 上下文中使用 Angular 作用域函数时出现的问题

标签 javascript angularjs angularjs-ng-include

编辑: 问题是由于尝试使用 ng-repeat\ng-options 迭代函数的返回值,而不是使用 promise 将数据解析为常规对象。

代码:

 $scope.layout.getPartialUriSafe = function(){
       return $sceDelegate.getTrusted($sce.RESOURCE_URL, $scope.layout.getPartialUri());
    }

$scope.layout.getPartialUri = function(){
    var cat = $location.search().cat;
    switch(cat){
        case 'settings':
            return 'partials/companySettings.html';
        case 'scouters':
            $scope.model.roleType = 'scouter';
            $scope.layout.roleTitle = $filter('translate')('SCOUTERS');
            return 'partials/roles.html';
        case 'recruiters':
            $scope.model.roleType = 'recruiter';
            $scope.layout.roleTitle = $filter('translate')('RECRUITERS');
            return 'partials/roles.html';
        case 'social':
            return 'partials/socialLinks.html';
        case 'design':
            return 'partials/companyDesign.html';
        default:
            return 'partials/companySettings.html';
    }
}

HTML:

<div class="settingsInnerContainer">
    <div data-ng-include data-src="layout.getPartialUriSafe()"></div>
</div>

上面的代码卡住了屏幕,没有错误。

尝试使用插值

 '{{layout.getPartialUriSafe()}}'

但后来我得到了一个 Angular 解析器错误。

还尝试使用原始插值,但也不走运:

'{{layout.getPartialUriSafePrimitive}}'

layout.getPartialUriSafePrimitive - 包含带有部分 URI 的字符串。

预先感谢您提供的任何帮助,我已经尝试升级到 ng 1.2.x 一段时间了,到目前为止遇到了许多在 1.2.2 中已解决的问题,但这个特定问题仍然悬而未决。

最佳答案

有一个 API 更改(不幸的是小写字母)。检查 1.1.5 的文档$location.search()latest - 1.2.x . (谜题:你能看出区别吗?)

search(search, paramValue)

在 1.1.5 中,search 参数是可选的,在 1.2.x 中不是!所以试试这个:

var cat = $location.search("cat");

或者,如果您不介意将依赖项添加到 $routeParams(它不会引发函数调用,性能可能会更好 - 几纳秒 :-)

var cat = $routeParams.cat;

关于javascript - 在 DOM (html) 上下文中使用 Angular 作用域函数时出现的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20239229/

相关文章:

Javascript 更改 XMLHttpRequest onreadystatechange 回调

javascript - 在javascript中初始化 'multidimensional'对象

javascript - 使用 ng-include 时失去作用域

angularjs - 更改 $includeContentRequested 上的源网址

javascript - 读取 undefined object 属性时强制 JavaScript 异常/错误?

javascript - 仅在 chrome 中缩放内容时,DIV 变得不可见但仍可点击

javascript - ng-disabled 无法正常工作 5

javascript - Angular,创建工厂服务来获取本地 JSON 数据

javascript - 使用 Bootstrap 和 AngularJS 进行表单验证

javascript - 如何将对象序列化为 ng-include 的参数?