2016-05-12 47 views
1

在下面的代碼,當我運行的應用程序是顯示錯誤:如何使用@語法MVC中angularJS用於隔離範圍

Message:""'," is not valid at the start of a code block. Only identifiers, keywords, comments, "(" and "{" are valid.

內。由於@語法。這是不工作的範圍。 我在mvc中實現這個應用程序,並且這個代碼不在.js文件中。

@語法這裏視爲Rajor由於其上面的錯誤正在生成..

var appmodule = angular.module('myapp', []); 

appmodule.controller('myController', function ($scope) { 

    $scope.name = "title1"; 

    //$scope.reverseName = function() { 
    // $scope.name = $scope.name.split('').reverse().join(''); 
    //}; 
}); 

appmodule.directive('myDir', function() { 

    return { 
     restrict: 'E', 
     template: "<div>Your name is : {{name}}</div>"+ 
    "Change your name : <input type='text' ng-model='name' />" 
     , 
     scope: { 
      name: '@', // THIS LINE 
     }, 
    } 
}); 
+1

我認爲你想用'='而不是'@'(雙向綁定) – devqon

回答

0

你必須從角應該在哪裏結合值

scope: { 
     name: '@thisIsALongName', // THIS LINE 

    }, 
放入駱駝情況下,屬性的名稱

所以在HTML:

<my-dir this-is-a-long-name="{{user.lastname}}"></my-dir> 

編輯在評論說:如果你沒有一個精確n屬性名稱name:'@'name:'@name'相同

+0

這是不正確的。如果你沒有指定屬性名稱,它只是試圖綁定到與變量相同的名稱,在這種情況下,'名稱' – devqon

+0

啊忘了那一點,我總是喜歡指定它。 – Walfrat