javascript - 使用 JSON 创建一个简单的指令

标签 javascript json angularjs

我正在创建一个简单的模式库,其中包含一个 HTML 模式的索引页面,以及每个模式的单独页面。

我在想我应该创建一个“模式”指令,其中包含索引页模式的模板。像这样:

<pattern></pattern>

这将显示:

<section ng-repeat="pattern in patterns | orderBy:'title'" class="pattern-type" data-anchor="{{pattern.anchor}}" id="{{pattern.id}}">
    <h3>{{pattern.title}} <a href="individuals/{{pattern.anchor}}">individuals/{{pattern.anchor}}</a></h3>
    <div class="pattern-desc" ng-show="pattern.description">
        <p>{{pattern.description}}</p>
    </div>
    <div class="pattern" ng-include="'individuals/' + {{pattern.anchor}}"></div>
    <div class="pattern-status">
        Date Posted: <span class="date"> {{pattern.updated | date:'yyyy-MM-dd'}}</span>
    </div>
</section>

我会为单独的模式显示模板创建一个单独的“单独”指令。我的 app.js 看起来像这样:

app.directive('pattern', function() {
    return {
        restrict: 'E', 
        templateUrl: 'pattern.html',
        controller: function() {
            $http.get('assets/js/components.json')
                .then(function(result) {
                    $scope.patterns = result.data;
                });
        },
        controllerAs: 'patterns'
    };
});

我的 JSON 看起来像这样:

[{
    "id": "alerts", 
    "anchor": "alerts", 
    "title": "Alerts", 
    "description": "This is a desc", 
    "guidelines": "", 
    "updated": "2015-06-26"
},
{
    "id": "buttons", 
    "anchor": "buttons", 
    "title": "Buttons", 
    "description": "", 
    "guidelines": "", 
    "updated": "2015-04-15"
}]

但是什么也没有出现。我错过了什么?

最佳答案

您的指令 Controller 在其函数中缺少 $http$scope 依赖项。

代码

    controller: function($scope, $http) { //<-- added dependency here
        $http.get('assets/js/components.json')
            .then(function(result) {
                $scope.patterns = result.data;
        });
    },

Working Plunkr

关于javascript - 使用 JSON 创建一个简单的指令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31659396/

相关文章:

javascript - 带序号的 nvd3 散点图

javascript - 64KB 在磁盘 IO 方面有什么意义,这与 JavaScript 相关吗?

python - Pandas 到 JSON 无法以正确的格式获取它

javascript - 在 AngularJS 脚本中使用 $scope 变量

javascript - 不同 Angular 应用程序中的 Angular js局部变量

javascript - 如果 Nodejs 模块将一个对象导出到其他两个模块,那么一个下游模块中对该对象所做的更改是否会传播到另一个模块?

json - 使用 Webhook 数据获取日历安排的约会

javascript - 浏览器在 Javascript 处理过程中不响应点击

javascript - Angular : module behavior, 如果 (""我不明白 JavaScript 代码)

javascript - 从 onMessage 中读取流中的完整数据