Javascript 角度代码在';已移动到模板文件

Javascript 角度代码在';已移动到模板文件,javascript,angularjs,Javascript,Angularjs,我不熟悉Angular,所以文档有点难理解。当我创建了下面的代码,并且成功了,我认为我处于一个好的位置 <div ng-controller="postListController"> {{someDataStuff}} <!-- this always works --> <div ng-repeat="post in data"> <b>{{post.title}}</b> <!-- T

我不熟悉Angular,所以文档有点难理解。当我创建了下面的代码,并且成功了,我认为我处于一个好的位置

<div ng-controller="postListController">
    {{someDataStuff}} <!-- this always works -->
    <div ng-repeat="post in data">
            <b>{{post.title}}</b> <!-- This sometimes works -->
    </div>
</div>
somedatastaff
打印出来,并在
post.titles
中愉快地循环。然后我试着将这些东西逐字地移动到一个模板文件中,并适当地加载它

app.directive('ngPostList', function() {
    return{
        restrict: 'E',
        templateUrl: 'postlist.html'
    }
});
这部分。。。只有一小部分起作用了。虽然我仍然在获取数据(在console.log中返回),并且我仍然在获取
somedatastaff
返回,但它实际上并不是在数据中循环

app.directive中是否有我丢失的东西,可以让它将数据传递到我现在使用的模板


您的模板也应该使用控制器,否则它不在范围内,您的级别更低,您必须调用$parent.post.title等。。。以使用数据到达适当的父范围

尝试:

应用程序指令('ngPostList',函数(){ 返回{ 限制:'E', 控制器:“postListController”, templateUrl:'postlist.html' } });

总的来说,选择一个Chrome扩展来调试Angular,比如,这样你就可以看到什么范围有什么数据,这样你的生活就更容易调试这类东西了。
角度问题是95%的时间问题,范围与您认为的不一样。

不要使用
$。获取
,而是将角度ajax实用程序与
$http
一起使用,否则除非手动调用摘要循环,否则您不会看到绑定更新。请创建一个演示来展示这个问题。哎呀,我真的不该如此认真地对待Angular主页上的“你需要多少就有多少”的东西。:/谢谢你的想法。这似乎是一个好地方,我应该在哪里发布一个需要多个HTML源的示例?它只需要一个就可以了,但这有点违反了Angular的直觉,或者我是这么想的。我添加了这个,并将
$交换了。很幸运地获得
$http
。然后在Angular网站上我看到了这样的情况:“您目前无法从templateUrl函数访问作用域变量,因为模板是在作用域初始化之前请求的。”Edit1:…所以也许我应该将这些内容从作用域中删除?我想这不会伤害我的。Edit2:…是的,我不知道如何访问超出范围的内容。事情成功了,我只是犯了一个错误,修改了包含的模板中的秘密酱汁,这使它以前能够成功工作。你难道不知道吗,修复那里的代码让它工作了。。。差不多在我遵循了这一页上的每一条建议之后或者,它不起作用。休息了一两天回来,它不再。。。功能。。。哦,好吧。我要无角地跑
app.directive('ngPostList', function() {
    return{
        restrict: 'E',
        templateUrl: 'postlist.html'
    }
});