首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AngularJS指令未在作用域中传递数据

AngularJS指令未在作用域中传递数据
EN

Stack Overflow用户
提问于 2016-09-09 01:32:52
回答 1查看 35关注 0票数 0

下面是我的html代码片段:

代码语言:javascript
复制
<div ng-controller="ctrl">
<custom-tag
title = "name"
body = "content">
</custom-tag>
</div>

下面是编写的控制器和指令:

代码语言:javascript
复制
var mod = angular.module("main_module",[]);

//Controller
mod.controller("ctrl",function($scope) {
  $scope.name="Page Title";
  $scope.content="sample_template.html";
  });

//Directive
mod.directive("customTag", function() {
  return {
    'restrict' : 'E',
    'scope' : {
      'title' : '=',
      'body : '='
      },
    'templateUrl' : 'directive_template.html'
    };
  });
代码语言:javascript
复制
<!-- directive_template.html -->

<div>
  <div>{{title}}</div>
  <div ng-include="'{{body}}'"></div>
</div>

指令呈现的实际html如下:

代码语言:javascript
复制
<div>
  <div ng-binding></div>
  <!-- ngInclude: '{{body}}' -->
</div>

显然,它没有从<custom_tag>中的属性中获取指令作用域变量

请告诉我为什么会发生这种情况,以及我如何解决这个问题。谢谢

EN

回答 1

Stack Overflow用户

发布于 2016-09-09 03:06:52

检查控制台中的错误,额外的引号和{{}}个大括号破坏了东西。

代码语言:javascript
复制
<div>
  <div>{{title}}</div>
  <div ng-include="body"></div>
</div>

http://plnkr.co/edit/G9JfIJGhSghUbgkKLXnV?p=preview

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39397036

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档