如何渲染angularjs的有条件内容
How to render angularjs content conditional?
我想在前端呈现一些ui内容,基于控制器变量的boolean
状态。
控制器:
$scope.test = [
myvar = true
//some other variables and data
];
html:
<div ng-controller"mycontroller">
<p>'{{test}}'</p>
<p>'{{test.myvar}}'</p>
<p ng-if="{{test.myvar}}">show this content</p>
</div>
结果:'[true]'
''
第二个语句不知何故没有呈现。为什么?
[]
是没有字符串键的数组字面值。=
赋值给一个变量,它不用于关联键和值。
您需要一个对象字面量,它看起来像这样:
$scope.test = {
myvar: true
};
你还弄乱了指令中的语法:
<p ng-if="test.myvar">show this content</p>
{{}}
在基本所有指令中都是不必要的;指令属性的内容在指令内部被解析,它不需要被绑定。{{}}
几乎只用于"回显"数据。
在JavaScript中,对象是在花括号的帮助下创建的,像这样:
$scope.test = {
myvar: true
};
并且,当使用ng
指令时,angular会在没有{{ }}
的情况下解析变量,这就是为什么你应该这样做:
ng-if="test.myvar"
方括号它是一个数组。例:['Charles', 'Jay', 'Jonh']花括号,它是一个对象。示例:{name: 'Charles', phone: '91332323'}
在一个对象中,你可以用"。"符号访问变量。
你正在寻找一个对象,而不是一个数组。
不需要为ng-if加上大括号。只需使用ng-if="test "。并使用
$scope.test = {
myvar: true };
相关文章:
- 通过js在新选项卡中有条件地打开url
- jQuery-有条件地附加HTML
- 有条件更新d3.js力图中节点的最佳方法
- Woocommerce产品选项有条件
- 有条件地在选项标记中应用布尔属性
- ADF:有条件地加载javascript资源
- 如何有条件地更改角度中的orderBy参数
- 无法在有条件呈现的富:面板上提交h:form
- 有条件地与react路由器链接
- 有条件地运行javascript函数-Razor,HTML
- 如何使用图表包装函数有条件地格式化谷歌可视化表单元格
- CSS根据属性的可用性有条件地应用样式
- 将字段设置为有条件地使用所需的字段验证器
- 将https替换为有条件的锚标记Javascript
- Mustache-根据数组数据有条件地渲染列表
- 有条件地渲染中继器中的元素
- 在React中有条件地渲染还是有条件地添加一个类来隐藏元素?
- 如何渲染angularjs的有条件内容
- 有条件地渲染容器
- D3.js:如何有条件地渲染曲线