无法使用角度标记来对$ scope变量起作用

时间:2016-04-27 22:50:06

标签: angularjs

我有一个控制器基本上将文本分配给这样的$scope变量;

$scope['Model'] = ["markdown text 1", "markdown text 2"];

然后我尝试在视图中使用marked,就像这样;

<div ng-repeat="n in Model">
      <div marked="n"></div>
</div>

<div marked>
   <div ng-repeat="n in Model">
         {{n}}
   </div>
</div>

我只是将{{n}}作为输出,逐字逐句。标记永远不会运行,从不对它做任何事情。我完全不知所措。我知道文字很好。

我已经尝试了所有的例子,似乎没有任何工作。如果我在<marked>指令之间插入静态的,硬编码的文本,它确实有效 - 但没有动态。

我能够做任何事情的唯一方法就是强行使用控制器中的marked(n)功能 - 这远远不够理想,当然也不是我想做的事情。

经过大量尝试后,我认为angular-ui-router涉及的方式可能会起作用。这是HTML结构;

的index.html

<div class="content-body">
   <ui-view />
</div>

content.html

<ui-view />

entry.html

<div ng-repeat="m in model">
    <div marked="m"></div>
</div>

1 个答案:

答案 0 :(得分:2)

我想我已经明白了。

<div ng-repeat="m in model">
  <div marked="m"></div>
</div>

按照这个小提琴工作:https://jsfiddle.net/jorgthuijls/q244srfh/

请参阅,ng-repeat创建自己的范围。因此,您可以将m变量绑定到marked指令。

我也可以使用angular-ui-routerhttps://jsfiddle.net/jorgthuijls/ck8by0ze/