如何将数据馈送到AngularJS指令内的模式
我正在尝试编写一个自定义指令,该指令将“创建”一个仪表板小部件,包括:如何将数据馈送到AngularJS指令内的模式,angularjs,angularjs-directive,angularjs-scope,widget,dashboard,Angularjs,Angularjs Directive,Angularjs Scope,Widget,Dashboard,我正在尝试编写一个自定义指令,该指令将“创建”一个仪表板小部件,包括: 标题(小部件的名称) 模式(数据建模或显示的方式,即它可以是注册的用户数-一个数字,也可以是一个字符串,显示大多数用户一周中的哪一天,等等) 数据(要提供给模式的数据、数字、字符串或从数据库或数据源获取的任何内容) 以下是我执行指令的程度: app.directive('widget', function () { return { restrict: 'E', scope: { title:
app.directive('widget', function () {
return {
restrict: 'E',
scope: {
title: '@',
schema: '&',
data: '&'
},
template: '<div>' +
'<span class="widget-title">{{title}}</span>' +
'<div schema="schema()" data="data()"></div>' +
'</div>'
}})
app.directive('widget',function(){
返回{
限制:'E',
范围:{
标题:“@”,
架构:“&”,
数据:“&”
},
模板:“”+
“{{title}}”+
'' +
''
}})
和我的html:
<widget title="Number of users" options="numberWidget" data="userData">
</widget>
我一直在研究如何将数据“绑定”到模式,以及应该在哪里定义不同的模式(或小部件模型)。也许我的方法是错误的,所以一个小小的方向将非常感谢。如果需要,我可以提供更多信息
编辑:
这是一个关于我有多远以及我认为我能实现的目标的“我做的”,也许可以(或应该)做得不同。好的,所以我决定做得稍微不同于我认为有效的事情。以下是我的解决方案: 指令: 该指令仅限于一个元素,并且具有一个独立的作用域,该作用域包含一些参数、
'和'
的数据,用于计算表达式(表达式在控制器中定义为如下所示的函数)和'@'
的类和标题,用于计算字符串(这些字符串在下面显示的HTML中定义)
CSS:
CSS显然定义了HTML元素中使用的类,这取决于样式的偏好,但就我的示例而言,我将展示它们:
.widget-title {
//whatever you need
}
.number-widget {
//whatever you need
}
.description {
// whatever you need
}
我希望这能帮助某些人,也许有更好的方法,但这适合我的需要。什么是schema()和data()。它在控制器中吗???。据我所知,您只是试图将对象从视图范围绑定到指令范围。是吗?您能提供schema()和data()吗返回示例。最好为它创建一个代码笔(使用静态值)。我添加了一个示例,说明我与它有多远,因为我被卡住了,目前尚未完成,因此我写了这个问题。请检查我的编辑。
<widget title-class="widget-title"
widget-title="Number of Users"
data="userData"
value-class="number-widget"
key-class="description">
</widget>
app.controller('dashboardCtrl', [
'$scope', function ($scope) {
$scope.userData = {
key: 'Total Users',
value: 100
};
}
]);
.widget-title {
//whatever you need
}
.number-widget {
//whatever you need
}
.description {
// whatever you need
}