Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
AngularJS指令-异步数据加载后如何刷新模板_Angularjs_Templates_Angularjs Directive_Refresh - Fatal编程技术网

AngularJS指令-异步数据加载后如何刷新模板

AngularJS指令-异步数据加载后如何刷新模板,angularjs,templates,angularjs-directive,refresh,Angularjs,Templates,Angularjs Directive,Refresh,我翻出并编辑了一个来自 我试图做的是让SELECT元素(组合框)在数据加载后更新/填充,但有些地方不正确。我检索数据,它位于SELECT元素的作用域上,但模板不会刷新以显示数据。有人能帮我告诉我为什么模板不刷新吗 非常感谢 该指令: app.directive('walkmap', function() { return { restrict: 'A', transclude: true, scope: { walks: '=walkmap' }, temp

我翻出并编辑了一个来自

我试图做的是让SELECT元素(组合框)在数据加载后更新/填充,但有些地方不正确。我检索数据,它位于SELECT元素的作用域上,但模板不会刷新以显示数据。有人能帮我告诉我为什么模板不刷新吗

非常感谢

该指令:

app.directive('walkmap', function() { 
  return {
    restrict: 'A',
    transclude: true,
    scope: { walks: '=walkmap' },
    template: '<select data-ng-options="w.postalCode for w in walks"></select>',
    link: function(scope, element, attrs)
    {
      scope.$watch('walks', function (walks) {
                scope.walks = walks;
                console.log('watch triggered');
                console.log(scope.walks);


            });

    }
  };
});
app.directive('walkmap',function(){
返回{
限制:“A”,
是的,
作用域:{walks:'=walkmap'},
模板:“”,
链接:函数(范围、元素、属性)
{
范围:$watch('walks',函数(walks){
scope.walks=walks;
console.log(“监视触发”);
console.log(scope.walks);
});
}
};
});
Index.html:

<body ng-controller="MainCtrl">
    <h1>The Walks Data:</h1>
    <div walkmap="store.walks"></div>
  </body>

数据如下:
解决方案:
  • 您不需要另一个$watch,
    scope:{walks:'=walkmap}
    已在监视
  • 使用
    ngOptions
    时,必须同时使用
    ngModel
以下是一份:

app.directive('walkmap',function(){
返回{
限制:“A”,
是的,
作用域:{walks:'=walkmap'},
模板:“”
};
});

问题在于您的模板。您还需要定义一个非常重要的模型

这应该行得通

<select data-ng-model="w" data-ng-options="w.postalCode for w in walks"></select>

<select data-ng-model="w" data-ng-options="w.postalCode for w in walks"></select>