如何使用指令操作HTML控件

时间:2014-04-10 06:05:37

标签: html angularjs angularjs-directive

我有一个场景,就像我想使用单个HTML文件来显示表单(获取输入)并使用相同的HTML来显示表单(以显示填充的值)。

  

场景1(表单输入):

<input ng-model="a"/>

我希望上面的内容与方案2中的相似

  

场景2(表格显示):

<label>{{a}}</label>

如果我将值传递给函数(或指令),例如&#34; Form&#34;然后情景1应该出现,否则情景2将会出现。

任何帮助都将受到高度赞赏

1 个答案:

答案 0 :(得分:1)

使用ng-switchdemo

的解决方案
<div ng-app>
  <div ng-controller="ctrl">

      <select ng-model="selection" ng-options="item for item in items">
      </select>
      <div ng-switch on="selection"> 
        <input type="text" ng-model='a.val' ng-switch-when="one" />
        <label ng-switch-when="two">{{a.val}}</label>
      </div>
      </div>
</div>
<script>
function ctrl($scope) {
    $scope.items = ['one','two'];
    $scope.selection = 'one';
    $scope.a = {val:''};
}
</script>

请注意ng-switch创建了新的范围,因此为了使用控制器中的模型,我必须将a更改为一个对象,其中一个引用被传递给子范围(它没有& #39; t发生在基元上。)