我有一个带有隔离范围的指令,它接收来自其父项的项目:
scope: {
items: '=?items'
}
例如,如果我有:
$scope.items = [
{id: 1, description: 'foo'},
{id: 2, description: 'bar'},
]
我可以这样传递:
<my-directive items = "items"></my-directive>
问题在于我并不总是将项目整齐地打包到对象中,并且在某些情况下我想传递随机数据。例如:
<my-directive items = "[ {id: 5, description: {{someScopeVar.someTextProp}}} ]"></my-directive-items>
上面的代码不起作用。有可能吗?是绝对可怕的做法吗?
编辑:我刚刚在父作用域上添加了一个新变量,它将我需要的内容打包到一个包含在数组中的对象中(因为指令采用数组)。这是一个纯粹的理论问题。
答案 0 :(得分:1)
编辑:
<my-directive items = "[ {id: 5, description: {{someScopeVar.someTextProp}}} ]"></my-directive-items>
要:
<my-directive items = "[ {id: 5, description: someScopeVar.someTextProp} ]"></my-directive-items>
答案 1 :(得分:0)
你可以通过函数获得随机对象
scope: {
items: '&'
}
控制器中的
$scope.items = [
{id: 1, description: 'foo'},
{id: 2, description: 'bar'},
]
$scope.getRandom = function(){
// do something here ( wrap object in array, get random object etc)
// return $scope.myWrapedObject
}
<my-directive items = "getRandom()"></my-directive>