Rui*_*tes 3 angularjs angularjs-directive
我有一个my-edit指令,它有一个value属性,期望绑定一个scope变量.
<my-edit value="myVar"></my-edit>
Run Code Online (Sandbox Code Playgroud)
有没有办法做这样的事情:
<my-edit value="{{varName}}"></my-edit>
Run Code Online (Sandbox Code Playgroud)
其中varName ="myVar"
我想将此指令嵌套在具有"text-field"属性的"my-listbox"指令中
<my-listbox ng-model="myList" text-field="itemProp"></my-listbox>
Run Code Online (Sandbox Code Playgroud)
所以我尝试使用如下模板:
<div>
<ul>
<li ng-repeat="item in items">
<my-edit value="item.{{textField}}"></my-edit>
</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
但显然它不起作用
我想使用文本绑定也不是解决方案.
是一个动态生成的模板"my-listbox"的方式去哪里?
我在编译函数中尝试过,但由于嵌套的neRepeat指令,它没有那么好用.应该在链接函数中使用$ compile吗?
谢谢
这是非常酷的角度,它评估了传递给指令的字符串.这意味着你实际上可以做到value="item[textField]",这将有效.
例如,如果你有一个控制器包含这样的数据:
$scope.data = {
test: 'test_val',
other: 'other_val'
};
$scope.val = 'test';
Run Code Online (Sandbox Code Playgroud)
您可以像这样将它传递给您的指令:
<directive value="data[val]"></directive>
Run Code Online (Sandbox Code Playgroud)
这是这样设置的:
scope: {
value: '='
},
Run Code Online (Sandbox Code Playgroud)
隔离范围将具有scope.value ='test_val'并且仅通过将原始控制器val更改为'other'将更新为'other_val'
我设置了一个小提琴,供你玩.
希望这可以帮助!
| 归档时间: |
|
| 查看次数: |
4078 次 |
| 最近记录: |